加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 大型文件的FileUtils.copyFile失败

发布时间:2020-12-14 19:36:25 所属栏目:Java 来源:网络整理
导读:我有一个简单的 Java应用程序,试图通过WAN(从爱尔兰到纽约)复制文件. 我最近修改它以使用FileUtils,因为本机Java文件副本太慢了.我研究并发现因为Fileutils使用NIO它更好.文件副本现在工作得很好但偶尔我需要复制非常大的文件( 200Mb)并且副本失败并显示错误
我有一个简单的 Java应用程序,试图通过WAN(从爱尔兰到纽约)复制文件.

我最近修改它以使用FileUtils,因为本机Java文件副本太慢了.我研究并发现因为Fileutils使用NIO它更好.文件副本现在工作得很好但偶尔我需要复制非常大的文件(> 200Mb)并且副本失败并显示错误:

java.io.IOException: Failed to copy full contents from...

我知道错误意味着目标文件大小与源不一样,所以最初我认为这是网络问题.该过程会反复尝试每隔几个小时复制一次该文件,但它永远不会成功.但是,当我通过Windows浏览器手动复制文件时,它工作正常.这似乎排除了网络…但我不太确定.

我已搜索但找不到任何相同问题的帖子.任何帮助将不胜感激.

谢谢!

加成:
我正在使用这个FileUtils方法:

public static void copyFile(java.io.File srcFile,java.io.File destFile) throws java.io.IOException

解决方法

所以我发现问题出在目标文件夹中.有一个轮询过程,假设在复制后拾取文件.但是,文件在复制完成之前已被移动.这可能不会发生在Windows驱动器上,因为文件将被锁定(我在本地测试,我无法在文件复制时删除).但是,目标文件夹是已安装的celerra共享.引擎盖下的unix进程是抓取文件的……我想它并不关心某些windows进程是否还在写入它.

感谢您的时间medPhys-pl!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读