我想在一個文本文件中向上移動一行,然後將其重寫回原始文件,但由於某種原因獲取錯誤,無法似乎弄明白了。該進程無法訪問該文件,因爲它正在使用(錯誤)
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循環 –
你想交換文件中的每一行嗎? –