java 获取在不同系统下的换行符

背景

windows下的文本文件换行符: \r\n
linux/unix 下的文本文件换行符: \r
Mac 下的文本文件换行符: \n

怎么得到换行符呢?

我们可以根据该方法(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");
}

如果想以回车来分隔字符串?

很多同学都会这样做
String[] res = st.split("\n"); 

其实这是不对的,应该是
String[] res = st.split(System.lineSeparator()); 

参考

java代码获取在不同系统下的换行符

你可能感兴趣的:(IO,java,开发语言)