C# 如何重写txt文件为什么我的代码不';行不通
我想重写我的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);
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);”旁注:请确保将信息添加到帖子中,而不是添加注释。否则,其他人将不得不这样做,而不是潜在地标记错误的行或以你们不打算的方式改变问题。