6

WAN を介して (アイルランドからニューヨークに) ファイルをコピーしようとしている単純な Java アプリがあります。

FileUtilsネイティブ Java ファイルのコピーが遅すぎるため、最近使用するように変更しました。私が調査したところ、FileutilsNIOを使用しているため、より優れていることがわかりました。ファイルのコピーは問題なく機能するようになりましたが、非常に大きなファイル (> 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
4

1 に答える 1

4

そのため、問題は宛先フォルダーにあることがわかりました。コピーされた後にファイルを取得することになっているポーリング プロセスがあります。ただし、ファイルはコピーが完了する前に移動されていました。ファイルがロックされるため、これはおそらくWindowsドライブでは発生しません(ローカルでテストし、ファイルのコピー中に削除できませんでした)。ただし、宛先フォルダは、マウントされた Celerra 共有です。内部の unix プロセスがファイルを取得します...一部の Windows プロセスがまだファイルに書き込みを行っているかどうかは気にしないと思います。

medPhys-pl さん、お時間をいただきありがとうございます。

于 2013-08-29T18:34:19.857 に答える