免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5045 | 回复: 11
打印 上一主题 下一主题

java如何处理大文件(在内存中) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-06-28 15:46 |只看该作者 |倒序浏览
我想处理大文件,做法是吧文件load到内存中去操作

定义了一个
andomAccessFile fh2=null;

byte buffer2[];
buffer2=new byte [buffersize];
fh2.readFully(buffer2,0,buffersize);

结果运行的时候处理超过100M 文件的时候就报错
Exception in thread "main" java.lang.OutOfMemoryError

不知道java里面如很处理大文件啊

论坛徽章:
0
2 [报告]
发表于 2004-06-28 20:57 |只看该作者

java如何处理大文件(在内存中)

如果你一定要读到内存里处理,那么没有办法。只要文件够大,一定会出错。建议你跟据你的需求重新考虑一下如何能不把这个文件全部读到内存里。

论坛徽章:
0
3 [报告]
发表于 2004-06-29 09:11 |只看该作者

java如何处理大文件(在内存中)

但是我们用c就可以实现啊,,那么java在处理大文件的时候有没有其他方法,

论坛徽章:
0
4 [报告]
发表于 2004-06-29 09:15 |只看该作者

java如何处理大文件(在内存中)

是java运行环境的问题,运行时java时添加下面两个选项:
java -Xms128m -Xmx128m

论坛徽章:
0
5 [报告]
发表于 2004-06-29 12:31 |只看该作者

java如何处理大文件(在内存中)

这样如果文件超过128M,还是会有问题。 如果用c的话,是因为交换区也被用上了。为什么一定要吧文件全部读到内存里呢?

论坛徽章:
0
6 [报告]
发表于 2004-06-30 11:49 |只看该作者

java如何处理大文件(在内存中)

我就说清楚一点吧,我们需要处理一些话单文件,因此我们需要对文件里面的每一条记录做处理,比如要计算公共的通话时长,金额等,和数据库的字段关联查询等等,排重,所以在内存中做的话要快的多,以前我们是用c实现的,我想用java实现一下啊

论坛徽章:
0
7 [报告]
发表于 2004-06-30 14:46 |只看该作者

java如何处理大文件(在内存中)

可是内存大小是有限的啊?
如果是一个2g的文件,一般的机器好像都会性能下降吧?
如果没有这么大的话,可以试试随风漂的方法,把jvm的可用内存调整的更大一些以解决问题。

论坛徽章:
0
8 [报告]
发表于 2004-07-01 09:31 |只看该作者

java如何处理大文件(在内存中)

老大,还是错误啊
$ java -Xms256m -Xms256m Diff /hbbi/bossjf/A0500220040628WH005.avl /hbbi/bossjf/A0500220040628WH005.avl
Incompatible initial and maximum heap sizes specified:

    initial size: 268435456 bytes, maximum size: 25165824 bytes

The initial heap size must be less than or equal to the maximum heap size.
The default initial and maximum heap sizes are 8388608 and 25165824 bytes.
Could not create the Java virtual machine.

论坛徽章:
0
9 [报告]
发表于 2004-07-01 10:50 |只看该作者

java如何处理大文件(在内存中)

$ java -Xms256m -Xmx512m Diff /hbbi/bossjf/A0500220040628WH005.avl /hbbi/bossjf/A0500220040628WH005.avl

论坛徽章:
0
10 [报告]
发表于 2004-07-02 09:15 |只看该作者

java如何处理大文件(在内存中)

谢谢,谢谢,通过了,速度好快啊

大侠们能解释一下么?还有我怎么估计我的java程序会使用的内存大小么?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP