Como formatar uma saida para um arquivo?

output.format("%s\n %s\n %s\n %s\n %s\n", "ALUNO:",a.getNome(), a.getDataNascimento(),a.getMatricula(), a.getDisciplinas());

Nesse caso era pra sair uma string por linha, certo?
acontece que ele escreve tudo em uma só linha… seria importante para posterior acesso que ele escrevesse cada dado em uma linha…

Se estiver errado o codigo gostaria de saber como fazer =)

vlw!
Felipe Gatti

Tenta fazer o básico:

"\n" + a.getNome() + "\n" + a.getDataNascimento()

E por ai vai…

Nunca trabalhei com o método format. Eu jogo numa string e passo a string no arquivo.

3 opções para isso:

  1. Você pode utilizar o newLine do BufferedWriter:

BufferedWriter bw = new BufferedReader( new FileWriter("arquivo.txt") ); bw.newLine();http://download.oracle.com/javase/6/docs/api/java/io/BufferedWriter.html#newLine()

  1. Você pode usar o %n, que irá colocar um \n\r (windows), \n (linux) ou \r (mac) no arquivo:

output.format("%s%n %s%n %s%n %svn %s%n", "ALUNO:",a.getNome(), a.getDataNascimento(),a.getMatricula(), a.getDisciplinas());http://download.oracle.com/javase/6/docs/api/java/util/Formatter.html

  1. Você pode usar o property do sistema line.separator:

String separadorDeLinha = System.getProperty("line.separator");http://download.oracle.com/javase/tutorial/essential/environment/sysprop.html

Se estiver utilizando Windows, o padrão é \n\r, por isso é sempre bom utilizar métodos que fazem isso implicitamente, e não utilizar o \n diretamente.

Abraços!