1

私は2つの異なる環境からのファイルを比較しようとしています。どちらの環境にも、ネットワークドライブを介してアクセスします。

最初に、ファイルが両方の環境に存在するかどうかを確認し(時間を節約するため)、次に両方のファイルのFileInfoを要求して、ファイルサイズ(FileInfo.Length)を比較します。

私の目標は、後で調査するために同じサイズではないすべてのファイルをリストビューに入力することです。

Windowsエクスプローラーが多くのファイルのファイルサイズを非常に速く取得し、FileInfoが非常に時間がかかることを理解するのは難しいと思います...

ありがとう。ベン

4

2 に答える 2

3

DirectoryInfo.GetFiles( some-search-pattern ) を使用してファイルを取得し、その呼び出しから返された FileInfo-instance を使用すると、プロパティ FileInfo.Length が検索からキャッシュされます。

これが役立つかどうかは、現在行っているチェックと比較して検索がどのように実行されるかによって明らかに異なります (検索が遅い場合は、何も得られない可能性があります)。それでも、検討する価値があるかもしれません。

于 2011-04-29T13:38:27.940 に答える
1

オペレーティングシステムの方法でそれを試すことができます。win32 システムコール経由で呼び出します。このページから始めることができます。

http://www.pinvoke.net/default.aspx/kernel32.getfilesize

于 2011-04-29T16:24:17.047 に答える