私の Java 7 アプリケーションでは、すべてのファイルとディレクトリsourceFolder
を別の に移動する必要がありますdestinationFolder
。これら 2 つのフォルダーが同じファイル システムまたはパーティション上にあるかどうかはわかりません。実行時にユーザーが両方を指定できるからです。
移動するファイルとディレクトリは非常に大きくなる可能性があるため (数 GB)、それらを効率的に移動する方法を探していました。したがって、同じファイル システム上にない場合sourceFolder
にのみコピーする必要があります。destinationFolder
したがって、理想的には、同じファイル システムでの移動操作は、可能であれば名前変更操作である必要があります。
このアプリケーションは、Windows システムと Linux システムの両方で使用されます。
関連するJava 7機能については知っていますが、フォルダーが空でない場合、フォルダーのすべてのコンテンツを別の場所に移動することはできません。これは私の場合の要件です。また、有望なApache Common の FileUtilsクラスも見つけました。ただし、そのドキュメントには、とが同じファイル システム上にない場合は、 「コピーして削除」操作を行う必要があると記載されています。sourceFolder
destinationFolder
私の質問は次のとおりです。そのクラスを使用する場合、クロスプラットフォームの方法でFileUtils
ファイルシステムをチェックするにはどうすればよいsourceFolder
ですか?destinationFolder