:GetFiles:間違った結果、私は再帰呼び出しに次のコードを使用してい
var files = di.GetFiles("*.jpg");
ディは、関数に渡されるDirectoryInfoです。いくつかのドライブkのルートにtiger.jpgというファイルがあるとします。場合によっては、結果はk:\ tiger.jpgではなくk:\ iger.jpgです。私はなぜ、どのように考えているのか分かりません。誰も同じ行動をしたことがありますか?
編集1:再帰関数は画像をサブディレクトリに表示しないため、ディレクトリ名でも表示されるようです。私はそれが主にFATだと思う(それは通常、SDカードやUSBスティックなどのメディアから読み込み、時にはDVDやCDから読み込むため)。
返される各FileInfoオブジェクトのフルネームは、イベントを使用して通知されます。受信者は、パスをコンストラクタの引数としてとる新しいオブジェクトを作成します。コンストラクタは、JPEGファイルの情報を取得するためのパスを使用してメソッドを呼び出します。
FileStream fs = File.Open (this.Path, FileMode.Open);
Image img = Image.FromStream (fs, false, false);
例外が発生した場所です。私はフレームワークコンポーネントへの呼び出しからファイルを取得するので、私はそれが存在するかどうか再度明示的にチェックしません - 私はシステムにこれを構築することができますが、それは私の問題を解決しません。
ことの一つは、私が忘れてしまった:これは我々のテストシステムでは発生しませんが、世界中:(ラウンドシステムに
が
非常に奇妙な...あなたはファイル名の処理に奇妙な文字列ではありませんか? – mpen
これはいつ起こるか教えてください。それはルートディレクトリ上にあるだけですか?FATファイルシステムだけですか?常に問題と同じファイルですか? – Gabe
受信したファイル名を確認するコードを表示します。 –