Escrever no txt

4 respostas
programaçãojava
J

Eu tenho que escrever em um txt coisas que um metodo produz:
Que modificação eu devo fazer nesse código para que isso funcione, o erro que acusa é que devo converter para string para poder escrever no txt.

Eu quero salva em linha = imprimeMetodo() e isso é errado,

public void escrever() {
    String path = "MatrizEscrita.txt";

    try {
        try (BufferedWriter buf = new BufferedWriter(new FileWriter(path, true))) {

           String linha = imprimeMetodo();

            System.out.println("Lista: " + linha);
             buf.append(linha + "\n");
            buf.close();
        }
    } catch (IOException ex) {
        Logger.getLogger(LeMatrizArquivo.class.getName()).log(Level.SEVERE, null, ex);
    }

}

4 Respostas

D

Você vai gravar exatamente o que? O que o método te retorna? Vai gravar linha a linha? Como vai querer o txt? Pq tem aquele true dentro do parâmetro do FileWriter? Está dando algum erro no momento?

J

Quero que salve uma linha abaixo da outra… esse meu metodo deve gerar umas 20mil linhas,

acusa erro nessa linha : String linha = imprimeMetodo();

Exige q eu converta pra string esse método, existe um padrão pra fazer isso? ou muda de método para método?

D

Qual tipo de retorno desse método, String mesmo? Posta o stacktrace do erro.

J

Fiz uma mudanças, so nao sei como faz para imprimir todas as linhas pq desse jeito que estou fazendo só imprime um linha , como faz para imprimir tudo no txt? vc sabe?

public class Arquivo {

String clau;

public String teste() {
    int n = 2, m = 1, a = 2;
    int cont = 0;
    for (int q = 0; q < 9; q++) {
        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 3; j++) {
                for (int x = 0; x < 8; x++) {
                    clau = ("*1" + "_P_" + i + "_" + j + "_Q_" + q
                            + " *" + a + "_P_" + i + "_" + j + "_Q_" + q);
                    cont++;
                    a++;
                    //return clau;
                }
                a = 2;
            }//return clau;
        }
    }
    return clau;
}

public void escrever() {
    String path = "Escrita.txt";
    try {
        try (BufferedWriter buf = new BufferedWriter(new FileWriter(path, true))) {

            String linha = teste();
            //System.out.println("Linha: " + linha);
            buf.append(linha + "\n");
            buf.close();
        }
    } catch (IOException ex) {
        Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
    }
}

}

Criado 3 de novembro de 2017
Ultima resposta 18 de nov. de 2017
Respostas 4
Participantes 2