2 つのテキスト ファイルを比較し、違いをログ ファイルに書き込むこのコードがありますが、何らかの理由で、* で始まるいくつかの行でテストした場合でも、log.txt ファイルが空白になることがあります。これらは常に書き込まれるわけではありません。書き終わったらテキストファイルを保存する
private void compare()
{
string FilePath = @"c:\snapshot\1.txt";
string Filepath2 = @"c:\snapshot\2.txt";
int counter = 0;
string line;
string line2;
var dir = "c:\\snapshot\\log.txt";
using (FileStream fs = File.Create(dir))
{
fs.Dispose();
}
StreamWriter dest = new StreamWriter(dir);
if (File.Exists(FilePath) & File.Exists(Filepath2))
{
// Read the file and display it line by line.
using (var file = File.OpenText(FilePath))
using (var file2 = File.OpenText(Filepath2))
{
while (((line = file.ReadLine()) != null & (line2 = file2.ReadLine()) != null))
{
if (line.Contains("*"))
{
dest.WriteLine(line2);
}
else if (!line.Contains(line2))
{
dest.WriteLine(line2);
}
counter++;
}
}
}
dest.Close();
}