一个程序写入文件,而其他程序读取相同的文件c#

时间:2013-09-22 02:42:43

标签: c# file

1)我创建了一个程序,它打开了一个twitter流并将所有内容写入文件。

    FileStream fs = new FileStream(@"\Database\twitterstream.txt", FileMode.Create);        
    TextWriter tmp = Console.Out;
    StreamWriter sw = new StreamWriter(fs);
    Console.SetOut(sw);

2)我有另一个程序,我想读取所说的文本文件。

    using (StreamReader sr = File.OpenText("C:\\Database\\twitterstream.txt"))
        {
            input = sr.ReadLine();
        }

因为我希望它是实时的,我试图让一个程序写入,而同时其他程序读取,但显然它正在抛出

  

“进程无法访问该文件   'C:\ Database \ twitterstream.txt'因为它正被另一个人使用   过程“回到我身边。

我想做的是什么?如果是这样,我该怎么做呢?

1 个答案:

答案 0 :(得分:2)

向FileStream构造函数添加几个参数:

FileStream fs = new FileStream(
    @"\Database\twitterstream.txt",
    FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite);

请参阅MSDN上的FileStream