[Q&A] CR・LF・CRLF区别?
\r | \n | \r\n |
---|---|---|
CR (Carriage Return)回车符 | LF (Linefeed) 换行符 | CRLF |
return oldline begin | newline begin | |
ASCII值为13,16进制 \x0d | ASCII值为10,16进制 \x0a | |
Unix 和 类Unix(如Linux) | Windows和MS-DOS | |
Mac OS X之前的系统 | Mac OS X |
[Ref] Windows文件换行符转Linux换行符
[Ref] 换行符 ‘\n’ 和 回车符 ‘\r’ 的区别?
[Ref] 回车与换行的区别。CR、LF、CRLF的区别。\r \n \r\n
[Q&A] 如何获取换行符呢?
我们可以根据该方法(System.lineSeparator()
)来判断,只是jdk必须在1.7以上;
String line = System.lineSeparator();
if ("\r\n".equals(line)) {
System.out.println("windows");
} else if ("\n".equals(line)) {
System.out.println("Mac");
}else if ("\r".equals(line)) {
System.out.println("linux/unix");
}
[Q&A] 如何以换行符来分隔字符串?
# 很多同学都会这样做
String[] res = st.split("\n");
# 其实这是不对的,应该是
String[] res = st.split(System.lineSeparator());