在C#中删除file1中存在于file2中的行,可以按照以下步骤进行操作:
StreamReader
类读取file1和file2的内容,并将它们存储在两个List<string>
对象中,分别命名为file1Lines
和file2Lines
。List<string> file1Lines = new List<string>();
List<string> file2Lines = new List<string>();
using (StreamReader reader = new StreamReader("file1.txt"))
{
string line;
while ((line = reader.ReadLine()) != null)
{
file1Lines.Add(line);
}
}
using (StreamReader reader = new StreamReader("file2.txt"))
{
string line;
while ((line = reader.ReadLine()) != null)
{
file2Lines.Add(line);
}
}
List<string>
对象,用于存储删除了file2中存在的行后的file1内容,命名为newFile1Lines
。List<string> newFile1Lines = new List<string>();
file1Lines
列表中的每一行,检查该行是否存在于file2Lines
列表中。如果不存在,则将该行添加到newFile1Lines
列表中。foreach (string line in file1Lines)
{
if (!file2Lines.Contains(line))
{
newFile1Lines.Add(line);
}
}
StreamWriter
类将newFile1Lines
列表中的内容写入到一个新的文件中,命名为newFile1.txt
。using (StreamWriter writer = new StreamWriter("newFile1.txt"))
{
foreach (string line in newFile1Lines)
{
writer.WriteLine(line);
}
}
完成以上步骤后,newFile1.txt
文件将包含file1中删除了存在于file2中的行后的内容。
请注意,以上代码仅提供了一个基本的实现示例,实际应用中可能需要考虑更多的异常处理、文件路径的处理等。此外,根据具体的需求和文件大小,可能需要优化算法以提高性能。
领取专属 10元无门槛券
手把手带您无忧上云