1

異なるコンピューター上のユーザーが同じファイル(すべてのユーザーがアクセスできるディレクトリ内)を同時に変更し、他のユーザーが同時に行う変更を確認できるようにする小さなプログラムを作成しようとしています。ユーザーがファイルを変更するたびに、変更はファイル(.txt)に保存され、FileSystemWatcherを使用して変更を検出し、他のユーザーを変更で更新しました。

プログラムの実行中に同じファイルにアクセスしているときにメモ帳を使用してファイルを変更および保存しようとすると、別のプロセスがファイルにアクセスしているため、ファイルにアクセスできないというメッセージが表示されることに気付きました。私の質問は、プログラムを開発して別のコンピューターで実行した後、同じエラーメッセージが表示されるかどうかです。はいの場合、それを解決する方法はありますか?

前もって感謝します。

4

1 に答える 1

1

可能ですが、フルバージョンを使用する必要がありますSystem.IO.File.Open()。これにより、他のプロセスが読み取りおよび書き込みアクセスのために同じファイルを開くことができます。

using System.IO;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            FileStream f = File.Open("c:\file.txt", FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);
        }
    }
}
于 2013-01-08T17:31:01.913 に答える