Escrever conteudo de uma lista em txt

Pessoal eu preciso escrever o resultado do meu select num arquivo txt
sera que alguem pode me explicar o que eu estou fazendo de errado?

JIntervalo i = new JIntervalo(this);
if (i.getStatus() != JIntervalo.OK) {
return;
}

    EntityManagerFactory emf = Persistence.createEntityManagerFactory("ContasPagarPU");
    EntityManager em = emf.createEntityManager();
    Query query = em.createQuery("SELECT c " +
            "FROM ContaPagar c " +
            "WHERE c.dataVencimento BETWEEN :dataInicio AND :dataTermino");

    Date dataInicio = i.getInicio();
    Date dataTermino = i.getFim();
    query.setParameter("dataInicio", dataInicio, TemporalType.DATE);
    query.setParameter("dataTermino", dataTermino, TemporalType.DATE);

    List<ContaPagar> contas = query.getResultList();
    if (contas.size() == 0) {
        System.out.println("Lista de contas vazia");
    }
    for (ContaPagar conta : contas) {
        File file = new File("C:/Users/Nieri/Desktop/teste.txt");
        try {
            FileWriter fw = new FileWriter(file);
            fw.write(conta.toString());

        } catch (IOException ex) {
            Logger.getLogger(ContaPagarMDI.class.getName()).log(Level.SEVERE, null, ex);
        }

        System.out.println("Conta " + conta.getId());
    }
}

Bom dia nieri,
Primeiramente seria melhor você postar o código JAVA dentro das tags CODE, isso ajuda bastante para ler o código.
Outra coisa, pelo que deu para ver inicialmente, você está escrevendo em loop um arquivo com o mesmo nome, acho que ali já está um dos seus problemas.
Mas para ajudar mais faça esse ajuste no post e diga exatamente qual a sua dúvida. Se é um erro de compilação, erro de execução ou o resultado obtido não é o que espera.

[]´s

Daniel

Desculpe por não ter colocado entre a tag
bom dessa forma eu consigo escrever mas somente a posição de memória

[code]
JIntervalo i = new JIntervalo(this);
if (i.getStatus() != JIntervalo.OK) {
return;
}

    EntityManagerFactory emf = Persistence.createEntityManagerFactory("ContasPagarPU");
    EntityManager em = emf.createEntityManager();
    Query query = em.createQuery("SELECT c " +
            "FROM ContaPagar c " +
            "WHERE c.dataVencimento BETWEEN :dataInicio AND :dataTermino");

    Date dataInicio = i.getInicio();
    Date dataTermino = i.getFim();
    query.setParameter("dataInicio", dataInicio, TemporalType.DATE);
    query.setParameter("dataTermino", dataTermino, TemporalType.DATE);

    List<ContaPagar> contas = query.getResultList();
    if (contas.size() == 0) {
        System.out.println("Lista de contas vazia");
    }
    for (ContaPagar conta : contas) {
        File file = new File("C:/Users/Nieri/Desktop/teste.txt");
        try {
            FileWriter fw = new FileWriter(file);
            fw.write(conta.toString());
            fw.close();

        } catch (IOException ex) {
            Logger.getLogger(ContaPagarMDI.class.getName()).log(Level.SEVERE, null, ex);
        }

        // System.out.println("Conta " + conta.getId());
    }
}     

[code]

Opa, da uma editada no post e coloca / na ultima tag CODE.

[]´s

Você está dando um .toString() no objeto, daí só vai escrever
a posição de memória.

conta.toString();

Acho que o legal seria dentro do for fazer
algo mais ou menos assim:

for(Contas conta: suaLista){

   //muito código aqui
   fw.write(conta.getCoisaDeTal.toString());
   fw.write(conta.getOutraCois.toString());
   
   fw.close();
   


}

acho que vc nã entendeu a minha duvida
não quero escrever uma coisa de cada vez
se fosse pra fazer assim eu já teria feito

Então você deve armazenar todo o conteúdo em um objeto e somente depois gravar o arquivo.
Algo assim:

StringBuilder conteudo = new StringBuilder(); //Utilize a Classe StringBuilder para trabalhar com esse tipo de String.
List<ContaPagar> contas = query.getResultList();
if (contas.size() == 0) {
     System.out.println("Lista de contas vazia");
}
for (ContaPagar conta : contas) {
      conteudo.append(conta.toString());
}
File file = new File("C:/Users/Nieri/Desktop/teste.txt");
try {
     FileWriter fw = new FileWriter(file);
     fw.write(conteudo.toString()); 
     fw.close();
} catch (IOException ex) {
Logger.getLogger(ContaPagarMDI.class.getName()).log(Level.SEVERE, null, ex);

[]´s

Daniel

E outra coisa nieri, talvez o oddy.silva não tenha entendido a sua dúvida porque você não colocou o que relamente precisava no post.
Não da para entender se você estava com problema para criar o arquivo ou se era em relação ao conteúdo dele.
Então por favor responda de forma mais amigável pois estamos tendando ajudar.

[]´s

Daniel

Crie o metodo toString no seu objeto ContasPagar que concatena do jeito que voce precisa.

chuck norris approves :wink: