用BufferedReader读取所有行而不是空

时间:2019-05-31 10:39:29

标签: java bufferedreader

BufferedReader对象具有来自套接字的数据。如何在不删除的情况下获取完整的BufferedReader内容。我需要它来进行跟踪。

1 个答案:

答案 0 :(得分:1)

您应该mark()开始缓冲区的位置,以便您的reset()调用返回到开头。例如,如果您正在阅读字符,并且想要标记一个返回位置:

  

数据示例:A B C D

System.out.println((char)buffer.read());
System.out.println((char)buffer.read());
buffer.mark(4); // save the position
System.out.println((char)buffer.read());
System.out.println((char)buffer.read());
buffer.reset() // back to 4
System.out.println((char)buffer.read());
System.out.println((char)buffer.read());

将打印:

  

A B C D C D

(因为char需要2个字节)