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