【发布时间】:2012-05-02 10:25:50
【问题描述】:
我试图将文本文件中的行向上移动一个然后将其重写回原始文件,但由于某种原因出现错误,似乎无法弄清楚。
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循环
-
你想交换文件中的每一行吗?
-
@Tim Schmelter,我只交换文件中的一行
-
@user1285872:我已编辑 my answer below 以考虑到这一点。
标签: c# .net visual-studio c#-4.0