我正在写入一个文本文件,我正在使用System.getProperty(line.separator);
转到下一行。
FileWriter fw = new FileWriter(file,true);
fw.write("Correct Fields are:"+System.getProperty("line.separator")+"\r\n");
"\n"
之前无法正常工作,因此我在网上搜索了"\r\n"
。
什么是"\r\n"
?记事本是否具体?
答案 0 :(得分:2)
a "newline"的概念在不同系统上的处理方式不同。
To(over)简化:Windows使用CRLF(\r\n
),UNIX和大多数其他流行的现代系统只使用LF(\n
)。
方便或恼人地,根据您的观点,Java有时会将“换行符”(\n
)转换为目标平台的正确形式。
答案 1 :(得分:2)
\ r是回车和 \ n是换行。
此格式是特定于操作系统的。对于windows / DOS \ r \ n是必需的。 对于unix \ n就足够了 并且使用mac \ r \ n。 (直到Mac OS 9)。自Mac OS 10+起,使用\ n。
希望这会有所帮助。
答案 2 :(得分:1)
“\ r \ n”是两个字符:“回车”和“换行”。在Windows中,每个新行都是“\ r \ n”,而在UNIX系统上,新行只是“\ n”。
答案 3 :(得分:1)
换行符序列取决于平台。在Windows上,它是\r\n
。在大多数Unix系统上,它是\n
。在旧版Mac上,使用\r
。 \r
是回车(CR)字符,\n
是换行符(LF)字符。
答案 4 :(得分:1)
行分隔符取决于平台(例如,UNIX上为"\n"
,Windows为"\r\n"
。
如果您不是直接使用FileWriter
而是将其包裹在BufferedWriter
方法中,或者在newLine()
内提供PrintWriter
方法,为您的幕后工作处理这些问题。
答案 5 :(得分:1)
问:什么是“\ r \ n”?记事本是否具体?
答:不,“\ r \ n”(“回车换行”)是DOS / Windows特定的。
大多数编译器只将“\ n”(“换行符”)别名为当前平台的相应序列。 DOS / Windows编译器将生成两个字符“\ r \ n”; Linux编译器将为同一程序生成单个字符“\ n”。
Java(为了跨平台兼容性)允许您明确说明您想要的内容。