14

BufferedReader.readLine()的 Javadoc说:

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

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

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

4

3 回答 3

12

尝试使用Scanner类:

String line = Scanner(file).useDelimiter("\r\n").next();
于 2009-04-01T15:51:14.773 回答
1

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

于 2009-04-01T15:54:01.757 回答
0

我不知道有任何标准 API 可以实现这一点。

可以简单地将整个文件读入字符串,然后将其拆分为所需的结束字符。

for(String line: testFile.split("\r\n")){
...
}
于 2009-04-01T15:48:48.977 回答