JAVA读取40G左右的TXT文件

问题描述:现有一个txt文件pnrTest,大小为40G左右,并且知道A中每一行都是一个xml文件标准格式的内容,现在要把A中的每一行读取出来然后放到队列中去分析。

解决方案分析1:

 

 

方案1设置50m的缓存去读,还是不行,最后发现这种方法只能读取2G以下的文件。

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

 

2.1经过运行readLargeTextWithNIO()分割后的目录如下:

 

2.2然后再用方案1去读取D盘下temp文件夹中的所有小文件(大小为128M)。下面只列出部分代码,网上可以查到。

 

3.如果运行时报内存溢出,可以对着运行的类点击右键Run as/Run configrition设置一下就可以了。

 

 

--------------------- 本文来自 绿林__ 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/dixialieren/article/details/30071461?utm_source=copy

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值