java - 使用 BufferedReader 读取所有行而不是清空它
问题描述
BufferedReader
具有来自套接字的数据的对象。如何在BufferedReader
不删除的情况下获取全部内容。我需要它来进行追踪。
解决方案
您应该mark()
开始缓冲位置,以便您的reset()
呼叫回到开头。例如,如果您正在阅读 chars,并且想要标记要返回的位置:
数据样本:ABCD
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());
将打印:
ABCD光盘
(因为一个 char 需要 2 个字节)
推荐阅读
- arrays - 退出代码 101 使用 &array 迭代数组
- apache-flink - Flink 将任务分配给一个 taskmanager,直到 slot 满
- javascript - 在编写 XPATH 时,我可以访问 #doucment..inside #document 我必须在下面的 html/body 中输入我的 ntml 页面
- html - 排序和分页不适用于 Angular 5 数据表。
- typescript - 打字稿:将必需的属性转换为可选的
- python-3.6 - 如何在 python 3.6.4 中打印带有文本的变量
- redis - 无法使用 systemctl 在 Centos 7 上启动 redis 服务器
- powershell - PowerShell 删除除根目录中的一个文件和子文件夹中的一个文件之外的所有其他文件
- javascript - 将表情符号转换为 Javascript 编码?
- java - 如何从 Facebook 广告确认应用程序安装,