C# 如何重写txt文件为什么我的代码不';行不通

C# 如何重写txt文件为什么我的代码不';行不通,c#,file,url-rewriting,temp,C#,File,Url Rewriting,Temp,我想重写我的txt文件(我需要删除行)。我使用以下代码: string cesta3 = cesta + "database.txt"; string file = new StreamReader(cesta3).ReadToEnd(); var linesToKeep = File.ReadLines(cesta3) .Where(l => l != "Meno: " + textBox1.Text + " PN " + textBox2.Text);

我想重写我的txt文件(我需要删除行)。我使用以下代码:

 string cesta3 = cesta + "database.txt";
 string file = new StreamReader(cesta3).ReadToEnd();

 var linesToKeep = File.ReadLines(cesta3)
    .Where(l => l != "Meno: " + textBox1.Text + " PN " + textBox2.Text);       
但我不知道如何用相同的名称保存我的文件。我尝试了以下方法:

 File.WriteAllLines(cesta3, linesToKeep); // <== exception

 var tempFile = Path.GetTempFileName();
 File.Move(tempFile + ".txt", cesta3);

File.writeAllines(cesta3,linestokep);// 这行代码锁定文件并防止其移动:
stringfile=newstreamreader(cesta3.ReadToEnd()

修正:

  • 您可以在使用
    读取
    文件中的
    文本后,使用
    正确关闭
    StreamReader
  • 或者,由于示例中没有使用该
    StreamReader
    ReadToEnd
    文件
    变量)的结果,因此您可以简单地删除该行

旁注:
File.Move
在您使用第一个文件后将抛出更多异常,因为源文件不太可能存在-我不确定您试图对该调用执行什么操作。

这行代码锁定文件并阻止其移动:
string File=new StreamReader(cesta3).ReadToEnd()

修正:

  • 您可以在使用
    读取
    文件中的
    文本后,使用
    正确关闭
    StreamReader
  • 或者,由于示例中没有使用该
    StreamReader
    ReadToEnd
    文件
    变量)的结果,因此您可以简单地删除该行

旁注:
File.Move
在您处理完第一个异常后将抛出更多异常,因为源文件不太可能存在-我不确定您试图对该调用执行什么操作。

什么操作不起作用?是否引发异常或未发生任何事情?抱歉,这是异常:其他信息:访问路径“'C:\Users\Lenovo\documents\visual studio 2015\Projects\attendancer\attendancer\bin\Debug\database.txt”被拒绝。”似乎此异常与临时文件无关。您是否可以标记发生异常的行,或者在不将文件移动到临时文件夹的情况下进行尝试?此外,您可以尝试手动删除该文件一次,然后再次运行该程序,以确保该程序已自行编写。例外情况如下:“file.writeAllines(cesta3,linesToKeep);”旁注:请确保将信息添加到帖子中,而不是添加注释。否则,其他人将不得不这样做,而不是潜在地标记错误的行或以你们不打算的方式改变问题。到底什么不起作用?是否引发异常或未发生任何事情?抱歉,这是异常:其他信息:访问路径“'C:\Users\Lenovo\documents\visual studio 2015\Projects\attendancer\attendancer\bin\Debug\database.txt”被拒绝。”似乎此异常与临时文件无关。您是否可以标记发生异常的行,或者在不将文件移动到临时文件夹的情况下进行尝试?此外,您可以尝试手动删除该文件一次,然后再次运行该程序,以确保该程序已自行编写。例外情况如下:“file.writeAllines(cesta3,linesToKeep);”旁注:请确保将信息添加到帖子中,而不是添加注释。否则,其他人将不得不这样做,而不是潜在地标记错误的行或以你们不打算的方式改变问题。