免费注册 查看新帖 |

Chinaunix

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

java對大容量File copy的操作求助 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-06-24 19:59 |只看该作者 |倒序浏览
java對大容量File copy的操作求助
需求描述:
將硬盤中指定的文件進行掃描(或者對整個磁盤),找出一個時間點(以參數形勢傳入,可自己調整)以前沒有用過的文件.並可以設置需要copy的所有文件大小的sum值.比如說600M. 可以刻錄成光盤backup.
設置lastmodify && capability已實現,現在就是實現copy的時候出現問題. 因為容量比較大.直接用遞歸和FileOutputStream && FileInputStream實現會很慢,而且內存會被耜光.導致down機.
哪位大蝆幫忙看看,怎麼釋放到.謝謝.
有類似的例子也可以.網上有很多File copy的例,但基本上都是實現單個文件的操作....大容量的copy(連同絕對路徑)還沒有找到......萬分感謝呀

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

java對大容量File copy的操作求助

有没有试试NIO?

论坛徽章:
0
3 [报告]
发表于 2005-06-25 03:03 |只看该作者

java對大容量File copy的操作求助

这个是用nio的例子
http://www.javaalmanac.com/egs/java.nio/File2File.html
这个是普通io的例子。
http://www.javaalmanac.com/egs/java.io/CopyFile.html?l=new

一般来说,nio性能和效率会比普通的io好一些。

论坛徽章:
0
4 [报告]
发表于 2005-06-28 08:44 |只看该作者

java對大容量File copy的操作求助

如果是大容量的文件呢?比如說有640M.而且要連同文件夾一起copy過去的...
這一操作偶還不是不明白.

论坛徽章:
0
5 [报告]
发表于 2005-06-28 10:03 |只看该作者

java對大容量File copy的操作求助

这么大容量的复制,本来就是文件系统的工作,不应该是Java的工作。不过如果用NIO的话,性能会好一些。
原帖由 "bingley" 发表:

這一操作偶還不是不明白.


楼主的意思是?

论坛徽章:
0
6 [报告]
发表于 2005-06-28 10:45 |只看该作者

java對大容量File copy的操作求助

我是指這麼大容量的文件copy,會導致嚴重占用系統資源,內存估計也會被耗光,如何進行優化呢?及時的釋放到資源/  NIO的操作例子也好像和IO的文件操作差不多吧.

论坛徽章:
0
7 [报告]
发表于 2005-06-28 13:26 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
8 [报告]
发表于 2005-06-29 05:48 |只看该作者

java對大容量File copy的操作求助

如果你看到javaalmanac上的例子代码的话,就会知道它采用了buffer进行copy,也就是说,不需要把几百兆的文件全部读入内存,可以在内存中建立只有几十k的buffer,然后读和写作为两个不同的任务同时向buffer中填充和取出数据,所以不会把系统内存全部用光。

javaalmanac里面很多例子已经采用了很高级的设计理念,要好好学习啊。

论坛徽章:
0
9 [报告]
发表于 2005-06-29 08:37 |只看该作者

java對大容量File copy的操作求助

十分感謝......thank you.

论坛徽章:
0
10 [报告]
发表于 2005-06-30 20:23 |只看该作者

java對大容量File copy的操作求助

可以分批读写么,先读一部分,写入,再读再写,只是在读之前和读的过程中都需要标记你读的长度。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP