Delete specific line from a text file?

前端 未结 10 1676
既然无缘
既然无缘 2020-11-29 11:14

I need to delete an exact line from a text file but I cannot for the life of me workout how to go about doing this.

Any suggestions or examples would be greatly appr

10条回答
  •  陌清茗
    陌清茗 (楼主)
    2020-11-29 11:35

    If the line you want to delete is based on the content of the line:

    string line = null;
    string line_to_delete = "the line i want to delete";
    
    using (StreamReader reader = new StreamReader("C:\\input")) {
        using (StreamWriter writer = new StreamWriter("C:\\output")) {
            while ((line = reader.ReadLine()) != null) {
                if (String.Compare(line, line_to_delete) == 0)
                    continue;
    
                writer.WriteLine(line);
            }
        }
    }
    

    Or if it is based on line number:

    string line = null;
    int line_number = 0;
    int line_to_delete = 12;
    
    using (StreamReader reader = new StreamReader("C:\\input")) {
        using (StreamWriter writer = new StreamWriter("C:\\output")) {
            while ((line = reader.ReadLine()) != null) {
                line_number++;
    
                if (line_number == line_to_delete)
                    continue;
    
                writer.WriteLine(line);
            }
        }
    }
    

提交回复
热议问题