事実:
ファイルを移動する場合、次の 2 つの可能性があります。
- ソース ファイルと宛先ファイルは同じパーティションにあり、ファイル システム インデックスのみが更新されます。
- ソースと宛先は 2 つの異なるファイル システム上にあり、ファイルはバイトごとに移動する必要があります。(別名コピーオンムーブ)
質問:
ファイルが論理的に移動されるか物理的に移動されるかをどのように判断できますか?
私は大きなファイル (700 MB 以上) を転送しており、状況ごとに異なる動作を採用しています。
編集:
一度に 1 MB ずつファイルをコピーするためのブロッキング io 呼び出しを実行するワーカー スレッドを使用して、ファイルの移動ダイアログを既にコーディングしています。残り時間や転送速度の概算などの情報をユーザーに提供します。
問題は、ファイルを物理的に移動する前に、ファイルを論理的に移動できるかどうかをどのように確認するかです。