1、window 回车+换行(\r\n)表示下一行
2、linux 换行(\n)表示下一行
3、苹果MAC OS 回车(\r)表示下一行
举个例子,java RandomAccessFile类用来读取文件,会经常用来随机读取文件位置。也可用来一行一行读取。来看一下一行一行读取数据的方法 readLine()。
public final String readLine() throws IOException {
StringBuffer input = new StringBuffer();
int c = -1;
boolean eol = false;
while (!eol) {
switch (c = read()) {
case -1:
case '\n':/*linux 换行(\n)表示下一行*/
eol = true;
break;
case '\r':/*window 回车+换行(\r\n)表示下一行;苹果MAC OS 回车(\r)表示下一行*/
eol = true;
long cur = getFilePointer();
if ((read()) != '\n') {
seek(cur);
}
break;
default:
input.append((char)c);
break;
}
}
if ((c == -1) && (input.length() == 0)) {
return null;
}
return input.toString();
}
根据上述源代码中的注释可知,RandomAccessFile类按行读取的readLine方法中,已经实现了兼容windows、linux和MAC操作系统。