以下の内容はhttps://white-azalea.hatenablog.jp/entry/20110505/1304594275より取得しました。


他のプロセスで使ってるファイルを読む

WindowsUpdate.log を読み込んで日付時刻、終了コード引っこ抜けという課題があったので、.NET でやって食った。
そのときのコードがこんな感じ。

string windowsSystemDir = Environment.GetFolderPath(Environment.SpecialFolder.Windows);
string filePath = windowsSystemDir + "\\WindowsUpdate.log";

using (StreamReader reader = new StreamReader(filePath))
{
    // something code.
}

そして、結果が。

別のプロセスで使用されているため、プロセスはファイル 'C:\Windows\WindowsUpdate.log' にアクセスできません。

とIOException発生っと。読み取り専用のストリームなんだからいいだろーとか思うんだけど、StreamReader はその辺ダメみたい。
代わりに、FileStream を経由すると、読み取りは問題なくいけた。

using (FileStream fileStream = new FileStream(
    filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
    using (StreamReader reader = new StreamReader(fileStream))
    {
        detectLines(reader);
    }
}

しっかしこれもどうなのやら、、、、。




以上の内容はhttps://white-azalea.hatenablog.jp/entry/20110505/1304594275より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14