社区
Java SE
帖子详情
JAVA怎么处理大于2G甚至20G的文件?
peer3002
2010-08-08 09:22:48
1. JAVA怎么处理大于2G甚至20G的文件?
2. mappedByteBuffer是不是没有底层实现数组? 也就是说:mappedByteBuffer.array() 没用是吗?
...全文
952
9
打赏
收藏
JAVA怎么处理大于2G甚至20G的文件?
1. JAVA怎么处理大于2G甚至20G的文件? 2. mappedByteBuffer是不是没有底层实现数组? 也就是说:mappedByteBuffer.array() 没用是吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
火龙果被占用了
2010-08-09
打赏
举报
回复
处理大文件?这“处理”的讲究可就大了!
先把“提问的智慧”看一下再来问吧!
http://community.csdn.net/IndexPage/SmartQuestion.aspx
peer3002
2010-08-09
打赏
举报
回复
long start = 0L;
long bufSize = 4096000L;
MappedByteBuffer mapBuffer = fc.map(FileChannel.MapMode.READ_WRITE, start,bufSize);
...
long start = start + bufSize;
MappedByteBuffer mapBuffer = fc.map(FileChannel.MapMode.READ_WRITE, start,bufSize);
...
peer3002
2010-08-09
打赏
举报
回复
第二个问题:mappedByteBuffer 是直接缓冲,所以缓冲区还在os的内存里,不在java的内存区域内,所以应该没有底层实现数组。要用的话要自己定义数组,再从buffer读到数组(java的内存区域内}。
peer3002
2010-08-09
打赏
举报
回复
昨晚一宿未眠,终于想到了办法。就如 redduke1202 所说,分部分处理,最好用mappedByteBuffer,这样效率要高很多。
早上想来,还是自己对深入的细节不真正理解所致。看来还要认真读书理解才不会有这样的愚蠢问题。
感谢大家的关注!
yushiqiang1688
2010-08-08
打赏
举报
回复
RandomAccessFile吧,详细见JDK帮助文档!
dr_lou
2010-08-08
打赏
举报
回复
RandomAccessFile吧,用多少读多少。
w_s254322
2010-08-08
打赏
举报
回复
写几个线程,分部执行!
「已注销」
2010-08-08
打赏
举报
回复
超大文件的话,只能一部分一部分处理
java里的byte[],最大只支持 2G-1字节长吧
因为数组的 length属性是int
宅男小何
2010-08-08
打赏
举报
回复
关注、、、、
可快速打开超大日志
文件
的代码编辑器,EditPlus5.3.0.2542
可快速打开超大日志
文件
的代码编辑器,EditPlus5.3.0.2542
java
超大文本_
java
处理
大文本
2G
以上
面试中经常碰到类似问题,问题的关键我觉得是用设置一个缓冲区还有一个思路 是通过Linux split 命令将
文件
直接切割成小
文件
,再进行
处理
再汇总。或者jdk7提供的 forkjoin 框架,利用forkjoinpool管理的线程池,
处理
此种问题,未尝试过。以下内容转自: http://blog.csdn.net/sysmedia/article/details/78030113如下的程序,将一个...
在
Java
中
处理
大
文件
在
Java
中
处理
大
文件
是一个常见的挑战,特别是在
处理
数据密集型应用或大型数据集时。由于内存限制和性能要求,我们需要采用特殊的技术和策略来有效地
处理
大
文件
。以下将从技术难点、面试官关注点、回答吸引力以及代码举例等方面详细描述如何在
Java
中
处理
大
文件
。
Java
2g
文件
转字节流_使用
java
读取大文本
文件
(
2G
)
最忌服务器不稳定一直出现各种问题,莫名其妙的出现404,500的等错误,并且时好时坏。只有分析web 服务器的日志,上去一看,我滴个神呢~~~
2G
。工具各种尝试,各种卡死,各种缓慢。折腾半天,,没辙~~只好使用
java
写个读取的吧,开始打算使用commons-io来读取,一运行,OOM了。看来只能使用一点点读取了,写了下面的代码。居然可以了。public class AnlyLogApache {...
Java
下载
文件
使用通道流最多
2G
解决办法
但也不是多大就可以,受到请求时间的限制,以及客户端临时
文件
空间限制(因为在客户端下载的时候,客户端浏览器首先会把response流写入本地硬盘上的临时
文件
中),经过我的电脑测试,10G左右的
文件
还是可以下载的。因为是持续通过流的形式往response写,很耗费时间,
文件
很大的话就会超时。因为客户那边的
文件
都比较大,在现场他们从服务器提取
文件
的流程又很麻烦,并且不允许使用ftp这种形式。
Java SE
62,629
社区成员
307,261
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章