社区
Java SE
帖子详情
JAVA怎么处理大于2G甚至20G的文件?
peer3002
2010-08-08 09:22:48
1. JAVA怎么处理大于2G甚至20G的文件?
2. mappedByteBuffer是不是没有底层实现数组? 也就是说:mappedByteBuffer.array() 没用是吗?
...全文
936
9
打赏
收藏
JAVA怎么处理大于2G甚至20G的文件?
1. JAVA怎么处理大于2G甚至20G的文件? 2. mappedByteBuffer是不是没有底层实现数组? 也就是说:mappedByteBuffer.array() 没用是吗?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
打赏
举报
回复
关注、、、、
在
Java
中
处理
大
文件
在
Java
中
处理
大
文件
是一个常见的挑战,特别是在
处理
数据密集型应用或大型数据集时。由于内存限制和性能要求,我们需要采用特殊的技术和策略来有效地
处理
大
文件
。以下将从技术难点、面试官关注点、回答吸引力以及代码举例等方面详细描述如何在
Java
中
处理
大
文件
。
java
超大文本_
java
处理
大文本
2G
以上
面试中经常碰到类似问题,问题的关键我觉得是用设置一个缓冲区还有一个思路 是通过Linux split 命令将
文件
直接切割成小
文件
,再进行
处理
再汇总。或者jdk7提供的 forkjoin 框架,利用forkjoinpool管理的线程池,
处理
此种问题,未尝试过。以下内容转自: http://blog.csdn.net/sysmedia/article/details/78030113如下的程序,将一个...
Java
2g
文件
转字节流_使用
java
读取大文本
文件
(
2G
)
最忌服务器不稳定一直出现各种问题,莫名其妙的出现404,500的等错误,并且时好时坏。只有分析web 服务器的日志,上去一看,我滴个神呢~~~
2G
。工具各种尝试,各种卡死,各种缓慢。折腾半天,,没辙~~只好使用
java
写个读取的吧,开始打算使用commons-io来读取,一运行,OOM了。看来只能使用一点点读取了,写了下面的代码。居然可以了。public class AnlyLogApache {...
Java
下载
文件
使用通道流最多
2G
解决办法
但也不是多大就可以,受到请求时间的限制,以及客户端临时
文件
空间限制(因为在客户端下载的时候,客户端浏览器首先会把response流写入本地硬盘上的临时
文件
中),经过我的电脑测试,10G左右的
文件
还是可以下载的。因为是持续通过流的形式往response写,很耗费时间,
文件
很大的话就会超时。因为客户那边的
文件
都比较大,在现场他们从服务器提取
文件
的流程又很麻烦,并且不允许使用ftp这种形式。
使用
java
读取大文本
文件
(
2G
)
最忌服务器不稳定一直出现各种问题,莫名其妙的出现404,500的等错误,并且时好时坏。 只有分析web 服务器的日志,上去一看,我滴个神呢~~~
2G
。 工具各种尝试,各种卡死,各种缓慢。折腾半天,,没辙~~ 只好使用
java
写个读取的吧,开始打算使用commons-io来读取,一运行,OOM了。 看来只能使用一点点读取了,写了下面的代码。居然可以了。 public class An
Java SE
62,634
社区成员
307,269
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章