2013-08-27 38 views
5

私は、WAN経由でファイルをコピーしようとしている単純なJavaアプリケーションを持っています(IrelandからNYへ)。大きなファイルでFileUtils.copyFileが失敗する

ネイティブJavaファイルのコピーが遅すぎたため、最近FileUtilsを使用するように変更しました。調査したところ、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 
+0

'FileUtils'には' copyFile'というメソッドがいくつかあります。あなたが行っていることを正確に示すためにコードの一部を追加すると、より多くの助けを得ることができます。 –

+0

可能な複製http://stackoverflow.com/questions/15805303/copying-a-file-using-fileutils-copyfile –

+0

こんにちは、あなたが述べた投稿を見ましたが、それはファイルのロックと関係しています。私がファイルをコピーするたびに、それは一意の名前を持つので、私はその問題を持っていません。 – Tony

答えて

3

だから私は問題は先のフォルダにあることが判明。ファイルがコピーされた後にファイルを受け取ると思われるポーリングプロセスがあります。ただし、コピーが完了する前にファイルが移動していました。これは、ファイルがロックされる(私はローカルでテストされ、ファイルがコピーされている間は削除できませんでした)ので、おそらくWindowsドライブでは起こりません。ただし、宛先フォルダは、Celerra共有がマウントされています。フードの下でのunixプロセスは、ファイルをつかむものです...私はそれはいくつかのWindowsプロセスがまだそれに書き込むかどうか気にしないと思います。

あなたのお時間をありがとうございますmedPhys-pl!

関連する問題