のJava 7 NIO.Files class.
Files.move変更ファイルのパーミッション
を使用している間、私は私が20キロバイトから、この場合は23メガバイトに、異なるサイズの5つのプレーンテキストファイルでいくつかの操作を実行する必要があり、問題が生じています。
ファイルが受信されると、私はこれで一時フォルダにコピーします。
Files.copy(originalPath, tempPath, StandardCopyOption.REPLACE_EXISTING);
操作がなされるが、23メガバイトのファイルがコピーされたいずれかの変更を持っていた権限:私はしようとしていることに気づきました手動でファイルを削除するには、元のファイルを手動で削除する必要はありませんが、コピーしたファイルには管理者権限を求めるポップアップが表示されます...これは23MBの場合にのみ発生します。私はこの方法でコピーされた23メガバイトのファイルを削除しようとすると、
問題は、私のところに示しています
boolean isDeleted = Files.delete(tempPathOf23MBFile);
操作は、例外なしにを実行され、isDeletedがtrueとして割り当てられていますが、23メガバイトのファイルが残りますフォルダ内に...そして後で同じ方法でフォルダを消去しようとすると、フォルダが空でないため例外が発生します... 私がEclipseを閉じると、23MBのファイルが消えるのが奇妙なことです!
File.delete
とFiles.deleteIFExists
と同じタスクを実行しようとしましたが、同じことが起こります。
このフォーラムでは、リソースが漏れている可能性があることが分かったので、すべてのバッファーとすべてを見直しました。削除の瞬間に閉鎖されています...絶望的です。私はnullの削除の瞬間に持っているオブジェクト(私はデバッグでそれらのすべてをチェックした)...しかし、成功は、問題が残っている!
私を助けてもらえますか?
bugs.sun.com/bugdatabase/view_bug: が動作しているため、理想的にファイルサイズを重要というのが私の関心事である、それもはるかに大きい23メガバイト