2011-10-12 7 views
0

大規模なファイルを.netでコピーする際にコピーされているバイト数を知るにはどうすればよいですか?大容量のファイルを.netでコピー中にコピーされているバイト数を知るにはどうすればよいですか?

私はファイルをコピーする方法にFile.Copyを使用しました。

問題は、ファイルのコピー中に現在の状態を知ることができないことです。

ファイルがどのくらいコピーされているか確認できますか?または戻り値を取得しますか?

もしそうでない場合は、私自身の方法をFilestreamまたは何かで作る必要がありますか?

申し訳ありませんが私の貧しい人々の英語&ありがとうございます。

+0

関連:http://stackoverflow.com/questions/187768/can-i-show-file-copy-progress-using-fileinfo-copyto-in-net –

答えて

4

自分で展開するのではなく、OSにコピーを残しておきますが、進捗コールバック(pinvoke)を実装するCopyFileEx APIを使用できます。

+0

またはおそらくSHFileOperation –

0

問題は、ファイルのコピー中に現在の状態を知ることができないことです。

ただ、次のメソッドを使用します。http://msdn.microsoft.com/en-us/library/windows/desktop/aa364957(v=vs.85).aspx

は、私は、ファイルがコピーされているどのくらいのチェックができることをとにかくありますか?または 戻り値を取得しますか?

作成中のファイルのサイズを上記と同様の方法で新しい場所で確認してください。

もしそうでない場合は、Filestreamなどで独自のメソッドを作成する必要がありますか?

本当にオペレーティングシステムが行うことを避けるべきです。

関連する問題