プロが教える店舗&オフィスのセキュリティ対策術

別プロセスが更新を行っているファイルを読み取り専用で読み込みたいのですがIOExceptionがでて読み込めません。

■エラーメッセージ
別のプロセスで使用されているため、プロセスはファイル '※ファイル名※' にアクセスできません。

■エラーがおきているところ
StreamReader sr = new StreamReader(@tempFile, Encoding.Default);

ノートパットではエラーなしで開けました。サクラエディタではロックを取得できませんでした。のメッセージは出ましたが中身をみることはできました。

どうかご教示の程よろしくお願いいたします。

A 回答 (1件)

FileShareを引数に持つFileStreamのコンストラクタで明示的に開くことになるかと。



MSDN: FileStream コンストラクター (String, FileMode, FileAccess, FileShare) (System.IO)
http://msdn.microsoft.com/ja-jp/library/5h0z48dh …


StreamReaderはその名のとおり,Streamから文字列を読み込むためのクラスです。
ファイル名を指定できるコンストラクタはありますが,内部ではStreamを用意しています。
細かい制御をするには,元となるStream自体の開き方を変えるしかないです。
    • good
    • 0
この回答へのお礼

おそくなりました、解決できました。

ありがとうございます

お礼日時:2012/08/23 14:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!