我有两个文件:file1.txt和file2.txt
file1.txt内容
this is line 1
this is line 1
this is line 3
file2.txt内容
this is line 1
this is line 2
this is line 4
我想要做的是将file1.txt中的第1行与file2.txt中的第1行进行比较,依此类推。如果两行不同,则只回显来自file2.txt
的行到目前为止,这是我的代码。
int line_number = 0;
string line_file1, line_file2;
System.IO.StreamReader file2 = new System.IO.StreamReader("file2.txt");
System.IO.StreamReader file1 = new System.IO.StreamReader("file1.txt");
while (((line_file2 = file2.ReadLine()) != null) && ((line_file1 = file1.ReadLine()) != null))
{
if (line_file2 != line_file1)
{
Console.WriteLine(line_file2);
}
line_number++;
}
file2.Close();
file1.Close();
输出:
this is line 2
this is line 4
如果您知道解决方案或更好的方法,请告诉我。
答案 0 :(得分:1)
假设您要将file1的第一行与file2的第一行进行比较,依此类推。
您可以使用File.ReadAllLines()
方法读取给定路径中的所有行。
试试这个:
using System.IO; //import this namespace.
String[] strFile1 = File.ReadAllLines("file1.txt");
String[] strFile2 = File.ReadAllLines("file2.txt");
if (strFile1.Length == strFile2.Length)
{
for (int i = 0; i < strFile1.Length; i++)
{
if (strFile1[i] != strFile2[i])
{
Console.WriteLine(strFile2[i]);
}
}
}