BufferedWriter的换行陷阱

java的文件操作中BufferedWriter的换行通过 bw.newline() 方法,但是把jar包放到Linux上运行后,换行失效。
newLine 方法会调用系统的换行符。而这就是问题的根本。
不同系统的换行符不同:

    windows -->   \r\n
    linux         -->   \r
    mac         -->   \n

但是编译时是在windows开发条件下进行的,所以项目jar包中换行符是windows的,在Linux系统上运行时肯定是换行失败,所以在字符串末尾手动添加\r\n就可以两个系统兼容。

你可能感兴趣的:(BufferedWriter的换行陷阱)