我在Linux机器上运行了一个Java应用程序,它生成一个文件,其中每条记录用新行分隔,
此文件将由在Unix SunOS系统上运行的应用程序使用,并且下面的代码不会生成正确的文件。我的意思是下面的代码生成一个文件,当我用Unix系统中的vi编辑器打开它时,每行以^ M字符结尾
bw = new BufferedWriter(new FileWriter(file));
bw.write("\n");
为了在Unix系统中正确查看文件,我必须编写哪个字符。
答案 0 :(得分:4)
\n
是Unix的正确行尾。它的窗口使用\r\n
作为行结尾(带有\r
或回车符号),看起来像^ M.您可以使用System.lineSeparator()
为系统获取正确的行尾。您还可以使用dos2unix
从文本文件中删除dos格式的换行符。