を使用してFileSystemWatcher
、ログ ファイルの変更を監視しています。
ログ ファイルは、サード パーティのアプリケーションによって書き込まれます。
変更がトリガーされると、次を使用してファイルを読み取ろうとしています。
using (FileStream fs = new FileStream(e.FullPath, FileMode.Open,
FileAccess.Read, FileShare.ReadWrite))
{
StreamReader sr = new StreamReader(fs);
string s = sr.ReadLine();
}
途中で失敗することもありますusing
。
sr.ReadLine()
また、サードパーティのシステムが現在ファイルにアクセスしているために発生していると思われる失敗することもあります。
を設定するFileAccess.Read
ことで、常にファイルを読み取ることができるはずだと思いましたか?
これが例外を引き起こさないことを確認するにはどうすればよいですか、または正常に読み取れるまでループする必要がありますか?