1

文字列の末尾に「\n」を追加しても、新しい行でファイルに文字列を書き込むことができません

public void writeEquation(String fileName, String expr) {     
        File aFile = new File(fileName);
        try {
            FileWriter writer = new FileWriter(aFile, true);
            BufferedWriter buffered = new BufferedWriter(writer);
            buffered.write(expr+"\n");
            buffered.flush();
            buffered.close();
        } catch (IOException e1) {
            e1.printStackTrace();
        }
    }

間違いはどこですか?

4

3 に答える 3

7

クラスが提供するnewLine()メソッドを使用しないのはなぜですか?BufferedWriter

行区切りを書き込みます。行区切り文字列は、システム プロパティ line.separator によって定義され、必ずしも単一の改行 ('\n') 文字であるとは限りません。

コードで、次を変更します。

 buffered.write(expr+"\n");

に :

 buffered.write(expr);
 buffered.newLine();

後で編集:また、どこに新しい行が必要なのかわかりませんが、ファイルの最後にある新しい行にexpr文字列が追加されることを確認したい場合は、次のように呼び出す前にメソッドを呼び出します:buffered.write(expr)

buffered.newLine();
buffered.write(expr);
于 2012-06-08T10:06:12.153 に答える
2

の使用BufferedWriter.newLine()方法BufferedWriter。これは、OS に依存する癖を解決するのに役立ちます。

于 2012-06-08T10:06:53.730 に答える
0

行う

buffered.write("\n"+expr);

expr+"\n" を実行すると、文字列の後に改行が追加されます。

于 2012-06-08T10:06:05.130 に答える