Quero texto escrita em um arquivo e toda vez que eu faço isso deve fazer uma nova linha. Eu já vi muitas respostas a esta pergunta sendo apenas "use \ n", mas que não funciona para mim.
Este é o código que usei:
File file = new File("C:\\Users\\Schule\\IdeaProjects\\projectX\\src\\experiment\\input.txt");
boolean result;
if(!file.exists()) {
try {
// create a new file
result = file.createNewFile();
// test if successfully created a new file
if(result) {
System.out.println("Successfully created " + file.getCanonicalPath());
}
} catch (IOException e) {
e.printStackTrace();
}
}
String output = name + ": " + highscoreString + "\n";
try {
PrintWriter out = new PrintWriter(new FileWriter(file, true));
out.append(output);
out.close();
} catch (IOException e) {
e.printStackTrace();
}
O código que eu tenho escreve o novo pontuacao e o nome da pessoa que fez isso em um arquivo. Ele funciona perfeitamente bem, exceto que ele grava tudo em uma linha como esta, por exemplo: Nicola: Seu recorde é de 10 secondsThomas: Seu recorde é de 11 segundos, mas eu quero: Nicola: Seu recorde é de 10 segundos Thomas: Seu recorde é de 11 segundos
Eu sei que há algumas outras coisas que eu preciso para corrigir e melhorar, mas agora, este é o meu maior problema. Alguém sabe o que fazer? (Desculpe pelo meu nome btw;)
Windows e Linux quebras de linha são diferentes. Tente escrever \r\n
.
EDITAR
Se você usar System.lineSeparator()
para obter quebra de linha que lhe dará plataforma baseada quebra de linha. Então, se você criar um arquivo no UNIX e enviá-lo para os usuários do Windows que eles vão ver esse arquivo como uma linha. Mas se você estiver usando o sistema operacional Windows para criar arquivos, usuários de Linux vai ver arquivo correto.