Java FileUtils.copyFile对于大型文件失败

Java FileUtils.copyFile对于大型文件失败,java,large-files,ioerror,fileutils,Java,Large Files,Ioerror,Fileutils,我有一个简单的Java应用程序,它试图跨WAN(从爱尔兰到纽约)复制一个文件 我最近将其修改为使用FileUtils,因为本机Java文件复制速度太慢。我研究发现,因为Fileutils使用NIO,所以效果更好。文件复制现在效果很好,但有时我需要复制非常大的文件(>200Mb),复制失败,错误如下: java.io.IOException: Failed to copy full contents from... 我知道这个错误意味着目标文件的大小与源文件的大小不同,所以最初我认为是网络问题。

我有一个简单的Java应用程序,它试图跨WAN(从爱尔兰到纽约)复制一个文件

我最近将其修改为使用
FileUtils
,因为本机Java文件复制速度太慢。我研究发现,因为
Fileutils
使用NIO,所以效果更好。文件复制现在效果很好,但有时我需要复制非常大的文件(>200Mb),复制失败,错误如下:

java.io.IOException: Failed to copy full contents from...
我知道这个错误意味着目标文件的大小与源文件的大小不同,所以最初我认为是网络问题。该过程每隔几个小时重复尝试复制文件,但从未成功。但是,当我通过Windows Explorer手动复制文件时,它工作正常。这似乎排除了网络的可能性……但我不是很确定

我已经搜索过了,但找不到任何有相同问题的帖子。任何帮助都将不胜感激

谢谢

添加:
我正在使用此FileUtils方法:

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

因此,我发现问题出现在目标文件夹中。有一个轮询过程,假设该过程在文件被复制后拾取该文件。但是,文件在复制完成之前已被移动。这可能不会发生在windows驱动器上,因为该文件将被锁定(我在本地进行了测试,在复制文件时无法删除)。但是,目标文件夹是celerra共享中装载的文件夹。引擎盖下的unix进程就是抓取文件的东西……我想它不在乎是否有windows进程仍在写入它


谢谢你抽出时间来medPhys pl

FileUtils
中有许多方法称为
copyFile
。如果你添加一些代码来准确显示你正在做什么,我们可以提供更多帮助。可能重复嗨,我看到了你提到的帖子,但那与文件锁定有关。每次我复制文件时,它都有一个唯一的名称,所以我没有这个问题。在复制文件时,文件是否可能发生更改?您使用的是什么版本的Apache IO?您好,我使用的是Commons IO 2.4。不,文件创建后不会更改。应用程序创建文件,用时间戳命名,然后尝试复制它。它每2小时运行一次,所以下次它将有一个新的文件名。另外请注意,较小的文件没有问题。只有在创建大文件的过程中偶尔会发生这种情况。谢谢我意识到这个问题已经问了6年多了,但我对你所做的事很好奇——改变投票人的行为(这似乎不太可能)还是什么?我忘了这个问题!是的,我最终删除了一个单独的文件作为标志,轮询过程在扫描目录之前等待它。啊。不幸的是,就我而言,我没有投票人的所有权。太糟糕了。