Escrever no txt

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);
    }

}

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?

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?

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

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);
    }
}

}