NarutoProgrammer:
私はそれが新しい行を作成する必要がありませんファイルと毎回にテキストを書きたいです。私はちょうど「使用\ n個」であるこの質問に多くの答えを見てきましたが、それは私のために動作しません。
これは私が使用するコードです:
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();
}
私が持っているコードは、新しいハイスコアやファイルにそれを作った人の名前を書き込みます。ニコラは::あなたのハイスコアは10 secondsThomasです:あなたのハイスコアは11秒ですが、私がしたい:ニコラ:あなたのハイスコアは10秒トーマスです:あなたのハイスコアは11秒です。これは完全に罰金、それは例えば、このようなライン上のすべてを書き込んことを除いて動作します
私は修正し、改善する必要があるが、今、これが私の最大の問題であるいくつかの他のものがあることを知っています。誰もが何をすべきかを知っていますか?(ところで、私の名前のために申し訳ありません。)
ブラクAkyildiz:
WindowsとLinuxの改行は異なっています。書いてみます\r\n
。
EDIT
あなたが使用している場合はSystem.lineSeparator()
改行を取得することは、プラットフォームベースの改行を与えるだろう。あなたはUNIX上のファイルを作成し、Windowsユーザーに送信するのであれば、彼らは1行のようにそのファイルが表示されます。しかし、あなたは、ファイルを作成するためのWindows OSを使用している場合、Linuxユーザは正しいファイルが表示されます。