我的文本文件中没有使用此代码的换行符,这有什么问题?
try{
oprint=new FileWriter("HighScores.txt",true);
} catch (IOException e1) {
System.out.println("error");
}
try{
String stampa= "Player: "+name+" --- time "+ this.getDurata()+" s \n";
oprint.write(stampa);
oprint.close();
}catch(Exception e){
System.out.println("error");
}
答案 0 :(得分:3)
尝试使用:
public static String newline = System.getProperty("line.separator");
然后:
oprint.write("Player: " + "x" + " --- time " + "durata" + " s " + newline);
这更好,因为不同的操作系统有不同的编写新行的方法。 Linux使用“\ n”,Mac使用“\ r”,Windows使用“\ r \ n”表示换行。
答案 1 :(得分:0)
您确定您的编辑或查看者不希望在行尾有回车符(CR)吗?
若是,请尝试以下方法:
String stampa = "Player: "+name+" --- time "+ this.getDurata()+" s \r\n";
或者您可以使用String.format
:
String stampa = String.format("Player: %s --- time %d s %n", name, this.getDurata());
'n'
行分隔符结果是特定于平台的行 分离器
答案 2 :(得分:0)
尝试将FileWriter
包裹在PrintWriter
中并使用其println()
方法。
PrintWriter oprint;
try{
oprint=new PrintWriter(new FileWriter("HighScores.txt",true));
String stampa= "Player: "+name+" --- time "+ this.getDurata()+" s";
oprint.println(stampa);//<- print with new line sign
oprint.close();
}catch(Exception e){
System.out.println("error");
}