1. 首页
  2. 编程语言
  3. Java
  4. JAVA NIO 按行读取大文件支持 GB级别-修正版

JAVA NIO 按行读取大文件支持 GB级别-修正版

上传者: 2018-12-09 02:02:34上传 ZIP文件 3.16KB 热度 57次
本类,是专门为了处理大文件,按行读取开发的类。 采用读文件的缓存 fbb 1024*5 行缓存 bb 256 字节 设计思想: 每次通过nio读取字节到 fbb中 然后对fbb自己中的内容进行行判断即 10 回车 13 行号 0 文件结束 这样字节的判断,然后 返回行 如果 到达 fbb的结尾 还没有结束,就再通过nio读取一段字节,继续处理。 由于对于本程序 116个字节以上的行才有意义,所以 在next实现方法中,有对 116 长度的判断,否则返回 null 修正了之前版本中的问题: 修正后的方法 private int readByte() throws IOException{ fbb.rewind(); fbb.clear(); if(this.fc.read(fbb)==-1){ EOF=true; return 0;}else{ fbb.flip(); return fbb.limit(); } } 把 fbb.position() 改成 fbb.limit()
用户评论
码姐姐匿名网友 2018-12-09 02:02:34

东西还不错

码姐姐匿名网友 2018-12-09 02:02:34

还需要修改一下代码,不过感谢楼主分享。

码姐姐匿名网友 2018-12-09 02:02:34

还不错,虽然需要读懂代码后修改一下。