我需要删除txt文件中的特定行,这意味着我需要读取并重写整个文件而忽略特定行,我试过但是我得到了unhandled-exeption(该进程无法访问该文件,因为它正被使用另一个过程)。 我在可疑过程中使用的只是:
1。这一行
IEnumerable<string> text = System.IO.File.ReadAllLines(@"C:\TreeView.txt");
我曾经把所有的行都变成了“字符串”
这个方法的一部分应该从txt中删除特定的行
string line = null;
string filePath = @"c:\TreeView.txt";
using (StreamReader reader = new StreamReader(filePath, true))
{
using (StreamWriter sw = new StreamWriter(filePath))
{
while ((line = reader.ReadLine()) != null)
{
if (String.Compare(line, obj) == 0)
continue;
sw.WriteLine(line);
}
}
}
答案 0 :(得分:3)
问题出在第二部分,您打开文件进行阅读,然后尝试打开它进行写入。你可以简单地做这样的事情:
var text = System.IO.File.ReadAllLines(@"C:\TreeView.txt");
System.IO.File.WriteAllLines(@"C:\TreeView.txt",
text.Where(x => String.Compare(line, obj) != 0));