JAVA中怎么读取大TXT文件

云计算

这篇文章将为大家详细讲解有关JAVA中怎么读取大TXT文件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

当文件过于大的时候我们如果还用传统的方式读取很容易造成内存满我们应该拆开读取:

用NIO方式把大文件分成固定大小的小文件(小于2G,自己综合分析设置多大,每个文件太大容易浪费空间,太小浪费时间),然后再循环用方案1去读每个小文件。

public static void readLargeTextWithNIO() {
      try {
          long startTime = System.currentTimeMillis();
          // 要读取的文件
          FileInputStream fin = new FileInputStream(\”/Applications/demo/aaaa.txt\”);
          FileChannel fcin = fin.getChannel();
          // 文件过大拆分成 128M 大小的txt文件 
          ByteBuffer buffer = ByteBuffer.allocate(128 * 1024 * 1024);
          while (true) {
              buffer.clear();
              int flag = fcin.read(buffer);
              if (flag == -1) {
                  break;
              }
              buffer.flip();
              // 输出到指定的位置 
              FileOutputStream fileInputStream = new FileOutputStream(\”/Applications/demo/\”  UUID.randomUUID().toString() \”.txt\”);
              FileChannel channel = fileInputStream.getChannel();
              channel.write(buffer);
          }
          long endTime = System.currentTimeMillis();
          System.out.println(\” 共消耗:\”   (endTime-startTime) / 1000  \”秒\”);
          // 分割成了 每一个文件 大小是  128M, 然后在用传统的方法去读取即可
      } catch (Exception e) {

      }
}
 

关于JAVA中怎么读取大TXT文件就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

更多关于云服务器域名注册虚拟主机的问题,请访问西部数码官网:www.west.cn

赞(0)
声明:本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-62778877-8306;邮箱:fanjiao@west.cn。本站原创内容未经允许不得转载,或转载时需注明出处:西部数码知识库 » JAVA中怎么读取大TXT文件

登录

找回密码

注册