.txt ファイルをロックせずに監視し、新しく追加された行を解析してデータベースに送信する方法があるかどうか疑問に思っています。
FileSystemWatcher
txt ファイルをロックせずに監視し、変更が発生した場合は通知することを知っています。問題は、追加されたデータの行がわからないことです。私が見たすべての例は、新しく追加された行を表示したり、新しいデータを処理したりする部分を除外しています。私のプログラムの構造は次のとおりです。
static void Main(string[] args)
{
//string line;
//createWatcher (FileSystemWatcher)
foreach (string line in getLines(@"C://Documents/log.txt"))
{
string teststring = line;
string[] parts = line.Split(' ', ',', '-', '>', '[', ']');
StringBuilder builder = new StringBuilder();
foreach (string h in parts)
{
builder.Append(h).Append(" ");
}
string result = builder.ToString();
string cleanedString = System.Text.RegularExpressions.Regex.Replace(result, @"\s+", " ");
string trimString = cleanedString.Trim();
trimString = trimString.Remove(trimString.Length - 7);
//Console.WriteLine(trimString);
//Process new lines (parse/split)
//Connect and send to database
}
}
したがって、私の目的は、.txt ファイルをロックせずに監視することです。
- 既存のデータについてこのファイルを読み取り、追加されたデータを待ちます。
- 次に、このデータを解析してデータベースに送信します。
これに最もよくアプローチする方法を知っている人はいますか?または良いチュートリアルがありますか?