// 经典读取数据三(大文件)
public static void readerFile3(String path) {
int length = 0x8FFFFFF; // 128 Mb
try {
MappedByteBuffer out = new RandomAccessFile(path, "r").getChannel()
.map(FileChannel.MapMode.READ_ONLY, 0, length);
String result = "";
for (int i = 0; i < 130; i++) {
if (out.get(i) == 10) {
result = "";
System.out.println("换行了。");
} else {
result += (char) out.get(i);
}
if (out.get(i) == 13) {
System.out.println(result + ":" + (result.trim().length()));
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
Java读取大文件,超越内存限制
最新推荐文章于 2022-08-26 23:04:57 发布
本文介绍了一种在Java中高效读取大文件的方法,利用MappedByteBuffer进行内存映射,实现128MB数据的快速访问。通过循环遍历指定范围的数据,并识别换行符来解析文本内容。
171万+

被折叠的 条评论
为什么被折叠?



