2011-07-14 2 views
1

私はこの問題に遭遇したことはありません。 、File.Openだけがハングして何もしません。

FileStream stream = File.Open("abc.xls", FileMode.Open, FileAccess.Read); 

を、私は、Visual Studio 2010のプレミアム版を使用しています

何、考えられる原因可能Windows 7を:誰も私は、なぜこのコードはちょうどハングず、永遠にハングアップ伝えることはできますか?どちらか例外をスローするか、うまく実行する必要があります。なぜプログラムはちょうどハングし、これの後に次のコード行に到達しませんか?

ありがとうございます。

+0

abc.xlsファイルの大きさ。また、試しにキャッチすることがありますか? – Jethro

答えて

1

考えられる原因はファイルのサイズになります。

+0

いいえ、私は愚かです。ファイルが開いているようです。だからプログラムはちょうど掛かった。私がファイルを閉じると、それは完璧に走った。しかし、なぜそれが既に開いている場合、読書に問題があるのでしょうか? – Jaggu

+0

ファイルにアクセスできないためです。ファイルが別のプロセス – saj

+1

@Bobによって使用されています。ファイルがロックされている可能性があります。最初にファイルがロックされていることを確認します。 http://stackoverflow.com/questions/1304/how-to-check-for-file-lock-in-c – Jethro

1

他のアプリケーションでこの同じファイルを正常に開くことはできますか?それはネットワークや遅延を引き起こす可能性のある他の特殊なドライブ上にありますか?あなたがブロックしているこの1行であることを確かめていますか?(デバッガは時にはラインオフです)?

注:他の回答とは対照的に、ストリームを開くときのサイズはパフォーマンスに影響しないはずです。実際にはファイルを読み込むことも、ファイルを開くこともしません。

関連する問題