2010年5月20日木曜日

[.NET]ファイルをいろんなモードでオープンする

先日、「Windowsではファイルを共有モードでファイルを開けない」って言っている人がいました。そんなわきゃーないってわかってましたが、面倒だったので「はぁそうですかぁ」と答えました。

というわけで、ヤってみました。そのおっさんには内緒。コードはこんな感じ。


private void button1_Click(object sender, EventArgs e)
{
    //using System.IO;
    //FileShare.ReadWrite→共有モードでオープンできる
    //FileShare.Read→他のプロセスは読み込み専用ならオープンできる
    //FileShare.Write/None→排他モードになる。他のプロセスはオープンエラーになる。
    using (StreamReader sr = new StreamReader(
            new FileStream(@"C:\temp\test.txt", FileMode.Open, FileAccess.Read, FileShare.ReadWrite)))
    {
        string s = sr.ReadToEnd();
    }
}

0 件のコメント :