对于我的项目,我必须删除纯文本文件的前X行。我之所以说X,是因为我需要多次执行此例程,每次要删除的行数都不同,但它们始终从开头开始,删除前X行,然后将结果输出到同一文件中。
我考虑采取以下方式,该方式是我从其他教程和示例中拼凑而成的:
但是,我不知道这是否可行,因为有一些小细节问题,例如行号从第0行开始或其他问题......此外,我也不知道它在效率和形式方面是否是良好的代码。
非常感谢。
我考虑采取以下方式,该方式是我从其他教程和示例中拼凑而成的:
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行开始或其他问题......此外,我也不知道它在效率和形式方面是否是良好的代码。
非常感谢。