如何删除TXT文件的第一行

本文关键字:一行 TXT 何删除 删除 文件 | 更新日期: 2023-09-27 18:08:30

我是c#新手。

我想删除文本文件的第一行

如何删除TXT文件的第一行

基本上你需要将其复制到另一个文件中-你不能在文件中"就地"删除(或插入)数据。例如,在。net 4中很容易:

var lines = File.ReadLines("input.txt").Skip(1);
File.WriteAllLines("output.txt", lines);

在。net的旧版本中,它稍微多了一些工作,至少如果你想避免将整个文件加载到内存中,但仍然不是太难。如果您需要旧版本的代码,请告诉我(并说明是哪一个)。

编辑:正如在注释中讨论的,如果您愿意将整个文件加载到内存中,您可以直接写回同一个文件:

// Note that ReadAllLines is eager, not lazy like ReadLines
var lines = File.ReadAllLines("file.txt").Skip(1);
File.WriteAllLines("file.txt", lines);
        System.IO.StreamReader fileR = new System.IO.StreamReader(filePath);
        string data = fileR.ReadToEnd();
        fileR.Close();
        string firstline = data.Substring(0, data.IndexOf(''n') + 1);
        data = Regex.Replace(data, firstline, "");
        StreamWriter file = new StreamWriter(filePath, false);
        file.Write(data);
        file.Close();

从文本文件中删除第一行

System.IO.StreamReader file = new System.IO.StreamReader(filePath);
string data = file.ReadToEnd();
file.Close();
data = Regex.Replace(data, "<.*'n", "");
System.IO.StreamWriter file = new System.IO.StreamWriter(filePath, false);
file.Write(data);
file.Close();

也可以一行完成

File.WriteAllLines(origialFilePath,File.ReadAllLines(originalFilePath).Skip(1));

我假设你给originalFilePath作为函数参数