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

一个程序写入文件,而另一个程序读取相同的文件c#,c#,file,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) 我有另一个程序,我想读

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”,因为另一个用户正在使用它 过程“回到我身边


我想做的事可能吗?如果是这样,我该怎么做呢?

为您的FileStream构造函数添加几个参数:

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

请参见MSDN上的

我尝试了此操作,但是当我尝试时,它停止了对文件的写入altogether@Kate-听起来您的代码可能有一些bug需要解决。我没有访问源代码的权限(在这里发布的内容可能太多),但我会检查两件事:确保所有文件句柄都允许共享(
file.OpenText
默认情况下可能会锁定文件),并确保关闭流。您还必须在完成写入操作时确保写入流的文本实际写入文件。