对于我正在做的一个项目,我必须做的一件事就是删除一个纯文本文件的前X行。我说X是因为我需要多次执行此例程,每次删除的行都会不同,但它们总是从头开始,删除第一个X,然后将结果输出到同一个文件。
我正在考虑做这样的事情,我从阅读的其他教程和示例中拼凑而成:
String line = null;
String tempFile = Path.GetTempFileName();
String filePath = openFileDialog.FileName;
int line_number = 0;
int lines_to_delete = 25;
using (StreamReader reader = new StreamReader(originalFile)) {
using (StreamWriter writer = new StreamWriter(tempFile)) {
while ((line = reader.ReadLine()) != null) {
line_number++;
if (line_number <= lines_to_delete)
continue;
writer.WriteLine(line);
}
}
}
if (File.Exists(tempFile)) {
File.Delete(originalFile);
File.Move(tempFile, originalFile);
}
但是我不知道这是否会起作用,因为像从第 0 行开始的行号之类的小东西或者诸如此类的东西......另外,我不知道它在效率和形式方面是否是好的代码。
谢谢一堆。