不能在新行中写字符串

Den*_*Ben 1 java io

我不能在新行中写入文件中的字符串,虽然我在字符串的末尾添加"\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();
        }
    }
Run Code Online (Sandbox Code Playgroud)

哪里出错了?

ale*_*gen 7

为什么不使用类提供的newLine()方法BufferedWriter

写一个行分隔符.行分隔符字符串由系统属性line.separator定义,不一定是单个换行符('\n').

在您的代码中,更改:

 buffered.write(expr+"\n");
Run Code Online (Sandbox Code Playgroud)

至 :

 buffered.write(expr);
 buffered.newLine();
Run Code Online (Sandbox Code Playgroud)

稍后编辑:另外我不确定你想要新行的位置,但是如果你想确保你的expr字符串被添加到文件末尾的新行上,那么在调用之前调用方法buffered.write(expr):

buffered.newLine();
buffered.write(expr);
Run Code Online (Sandbox Code Playgroud)