我在使用java读取文件时遇到了一些问题.这绝对是巨大的(2,5G),调整我的记忆并没有帮助.数据全部在一行上,所以我不能一次读取一行.我想要做的是读取文件,直到找到某个字符串,例如"<| start |>"或"<| end |>",然后在这些字符串之间打印数据,以便清除内存可以继续阅读文件的其余部分.所以我基本上正在寻找的是一种读取器,它开始读取某个起始字符串并停止读取停止字符串.谁能帮我?
你需要打开一个Reader(例如BufferedReader包裹一个InputStreamReader包装a FileInputStream)并用read(char[], int, int)或一次读取块read(char[]).由你来负责寻找令牌 - 包括在一个块中开始并在另一个块上结束的情况.还要注意,read()可能无法填充缓冲区; 您需要使用返回值来查看它实际写入数组的数据量.
| 归档时间: |
|
| 查看次数: |
692 次 |
| 最近记录: |