是否有相当于BufferedReader.readLine()的东西让我选择行尾字符的结尾?

BufferedReader.readLine()的Javadoc说:

一条线被认为是由换行符(’\ n’),回车符(’\ r’)或回车符中的任何一个终止,后面紧跟换行符。

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

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

尝试使用Scanner类:

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

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

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

可以将WHOLE文件中的简单读取转换为String,然后将其拆分为所需的结束字符。

 for(String line: testFile.split("\r\n")){ ... }