我想在一个文本文件中向上移动一行,然后将其重写回原始文件,但由于某种原因获取错误,无法似乎弄明白了。该进程无法访问该文件,因为它正在使用(错误)
using (StreamReader reader = new StreamReader("file.txt"))
{
string line;
int Counter = 0;
while ((line = reader.ReadLine()) != null)
{
string filepath = "file.txt";
int i = 5;
string[] lines = File.ReadAllLines(filepath);
if (lines.Length >= i)
{
string tmp = lines[i];
lines[i] = lines[i-1];
lines[i-1] = tmp;
File.WriteAllLines(filepath, lines);
}
}
Counter++;
}
嗯..我认为你在这里做的有点疯狂......这个问题是你正在试图写入一个你已经在StreamReader中打开的文件。你明确想要做什么?也许我们可以帮助你解决你的问题。 –
可能会将所有文件内容存储在数组或列表中。移动它们,然后将整个东西存回..没有while循环 –
你想交换文件中的每一行吗? –