對於我正在做的項目,我必須做的一件事是刪除明文文件的第一行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行開始或者什麼都不...也不知道在效率和形式方面它是否是好代碼。
非常感謝。
這工作,因爲當我再次做reader.ReadLine(),將恢復從閱讀離開的地方,對不對? 如果我想讓另一個閱讀器稱爲「閱讀器」(因爲這將在一個更大的循環中重複這個過程多次),我只需要關閉「閱讀器」,然後當我做出另一個時,它會開始從文件開始回來,對嗎? – ankushg 2009-10-03 23:37:40
@Unk,這是對這個評論中的兩個問題。 – 2009-10-04 01:12:46
非常感謝! – ankushg 2009-10-04 01:23:12