我试图在不移动指针的情况下读取下一行,这可能吗?
BufferedReader buf = new BufferedReader(new InputStreamReader(fileIS));
while ((readString = buf.readLine()) != null) {
}
While 将按照我的意愿逐行读取,但我需要写入当前行的下一行。
这可能吗?
我的文件包含Http请求数据,第一行是GET请求,
在第二行的主机名中,我需要在 GET 之前拉出主机才能将其连接在一起。
主机/+GET url,
GET /logos/2011/family10-hp.jpg HTTP/1.1
Host: www.google.com
Accept-Encoding: gzip
谢谢。
最佳答案
您可以使用 mark()
和 reset()
标记流中的某个位置,然后返回该位置。示例:
int BUFFER_SIZE = 1000;
buf.mark(BUFFER_SIZE);
buf.readLine(); // returns the GET
buf.readLine(); // returns the Host header
buf.reset(); // rewinds the stream back to the mark
buf.readLine(); // returns the GET again
关于java - BufferedReader (Java) 可以在不移动指针的情况下读取下一行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37655587/