1

このコードではテキストファイルに改行を含めることができませんが、何が問題になっていますか?

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

3 に答える 3

3

これを使用してみてください:

public static String newline = System.getProperty("line.separator");

その後:

oprint.write("Player:  " + "x" + "  --- time " + "durata" + " s " + newline);

OS ごとに新しい行の書き方が異なるため、これはより良い方法です。Linux は "\n"、Mac は "\r"、Wi​​ndows は "\r\n" を改行に使用します。

于 2012-06-25T11:42:27.790 に答える
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' 行セパレーター結果はプラットフォーム固有の行セパレーターです

于 2012-06-25T11:40:20.810 に答える
0

ラップFileWriterPrintWriterてその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");
}
于 2012-06-25T11:49:08.000 に答える