- - PR -
ファイルの読み込みでエラー(FileStream、FileOpen)
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-01-31 18:34
環境 : WindowsXP Pro SP2
VB.NET2003 .NETFramework1.1SP1 CSVファイルをEXCELで開いた状態で、FileStreamで読み込もうとするとIOExceptionが発生しました。この状態のときにFileStreamでCSVファイルを読み込むことはできないのでしょうか? <プログラム> Dim srFile As System.IO.FileStream srFile = New System.IO.FileStream(FileName, FileMode.Open, FileAccess.Read, FileShare.Read) →IOException発生 FileOpen関数ではオープン可能なのですが、既存のプログラムにはあまり手をいれたくないのでFileStreamで実現したいと考えています。 <FileOpenのプログラム> FileOpen(fileNum, FileName, OpenMode.Input, OpenAccess.Read,OpenShare.Shared) | ||||||||
|
投稿日時: 2007-01-31 18:45
srFile = New System.IO.FileStream(FileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite) としてもダメでしょうか? | ||||||||
|
投稿日時: 2007-01-31 19:00
うまくいきました。ありがとうございます。
FileShareの方を変えるのですね。FileAccessばかり変えてました。 FileShare.Readだとダメな理由はなんなのでしょう? EXCELで書き込み禁止にしているので、プログラム側でも読み取り用(FileShare.Read)にすれば良いと思っていたのですが。。。 | ||||||||
|
投稿日時: 2007-01-31 19:08
推測ですが… MSDN で FileShare 列挙体のヘルプを見ると、None の説明にはこう書いてあります。
None で「別のプロセスがファイルを開く要求をしても失敗する」ということは、Read だ と「自分だけ Read 」ということになりそうです( Read の項目を参照のこと)。 なので、 ReadWrite を指定してあげる必要があるのではないでしょうか。 _________________ ぽぴ王子@わんくま同盟 ぽぴ王子の人生プログラミング中 / ぽぴンち。 |
1