3

操作を試行して例外をキャッチする以外に、ファイルを移動またはコピーできるかどうかを判断する方法はありますか?

4

3 に答える 3

5

ファイルの移動またはコピーが確実に成功するかどうかを知る方法はありません。

ただし、失敗するかどうかを確認するために、かなりの数のことを確認できます。

  • 宛先の場所のディスク容量を確認します (少なくともファイルのサイズが必要です)。
  • 宛先の場所に既に存在するファイルを確認します
  • ファイルを開き、ソース ファイルの読み取りアクセスを要求して、1) アクセス許可があること、2) 使用されていないことを確認します。
  • ソース ファイル全体を読み取って、ファイル内にロックがないことを確認できます。
  • ファイルをコピーする (またはボリューム間で移動する) ときに Windows エクスプローラーで使用されるトリックは、最初に空のファイルを作成し、次にファイルをフル サイズに拡張することです。ファイルが完全に割り当てられた後でのみ、ファイルへの書き込みが開始されます。
  • コピーしたいデータのサイズのファイルを割り当てると、ファイルシステムの見積もりが適切に設定されているかどうかもわかります。
  • ファイルが使用中で、そこまで行きたい場合は、ボリューム シャドウ コピー (VSS) を使用できます。

ファイルのロックの詳細:

Linux でのファイルのロックとアクセス許可の詳細については、こちらの回答を参照してください。

Windows でのファイルのロックとアクセス許可の詳細については、こちらの回答を参照してください。

于 2009-03-20T00:33:39.227 に答える
0

一般に、ファイルが存在するかどうか、および現在のユーザーがファイルを読み取る (または移動のためにファイルを削除する) 権限を持っていること、および移動先ディレクトリに対する適切な権限を持っていることを確認します。また、コピーの場合は、使用可能なディスク容量があることを確認する必要があります。もちろん、その前に、元のファイルと宛先ディレクトリが存在することを確認してください。

もちろん、これは操作が成功することを保証するものではありません。多くのことが起こる可能性があります。ファイルの権限でさえ、チェックしてから操作を実行するまでの間で変わる可能性があります。

于 2009-03-20T00:34:35.993 に答える
-1

ファイルを読み取ることができる場合は、移動またはコピーできます。移動またはコピーが成功するかどうかを確認する方法を尋ねていますか?

于 2009-03-20T00:49:20.967 に答える