是否有相当于 BufferedReader.readLine() 的功能可以让我选择行尾字符是什么?

发布于 2024-07-17 04:23:24 字数 325 浏览 8 评论 0原文

BufferedReader.readLine( ) 说:

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

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

有没有 JDK 或库函数可以做到这一点?

The Javadoc for BufferedReader.readLine() says:

A line is considered to be terminated by any one of a line feed ('\n'),
a carriage return ('\r'), or a carriage return followed immediately by a linefeed.

I need slightly better control than this (e.g. I would like to be able to specify that an end of line is "\r\n", so that an "\n" by itself does not terminate the line).

Is there any JDK or library function which does this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

爱已欠费 2024-07-24 04:23:24

尝试使用 Scanner 类:

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

Try using the Scanner class:

String line = Scanner(file).useDelimiter("\r\n").next();
小糖芽 2024-07-24 04:23:24

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

Depending on what the use case for which you need the BufferedReader, you can maybe change over to using the Scanner class, which is able to read text from different sources (files, streams), and has a direct method th specify the delimiting pattern.
See http://java.sun.com/j2se/1.5.0/docs/api/java/util/Scanner.html#useDelimiter(java.lang.String)

寄与心 2024-07-24 04:23:24

我不知道有什么标准 API 可以完成这个任务。

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

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

I don't know of any standard API that would acomplish this.

It's possible to simple read in the WHOLE file into a String and then split it at your desired ending character.

for(String line: testFile.split("\r\n")){
...
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文