有没有一个等效的BufferedReader.readLine()可以让我选择我的行尾字符是什么?

2022-09-04 03:27:47

Javadoc for BufferedReader.readLine() 说:

一行被视为由换行符 ('\n')、回车符 ('\r') 或紧跟换行符的回车符中的任何一个终止。

我需要比这更好的控制(例如,我希望能够指定行尾为“\r\n”,以便“\n”本身不会终止行)。

是否有任何JDK或库函数可以做到这一点?


答案 1

尝试使用 Scanner 类:

String line = Scanner(file).useDelimiter("\r\n").next();

答案 2

根据您需要 BufferedReader 的用例,您可以改用 Scanner 类,该类能够从不同的源(文件、流)读取文本,并具有指定分隔模式的直接方法。请参阅 http://java.sun.com/j2se/1.5.0/docs/api/java/util/Scanner.html#useDelimiter(java.lang.String)