【问题标题】:How to clear .txt before writing to it? [duplicate]如何在写入之前清除 .txt? [复制]
【发布时间】:2015-07-27 21:24:29
【问题描述】:

我想在我的 .txt 文件中删除 - 行,但重写不正确。带有文本的行被替换,有时它们会重复。 如何在重写之前清除打开的 .txt?

FileStream fileStream = new FileStream(textBox3.Text,FileMode.OpenOrCreate,
        FileAccess.ReadWrite, FileShare.None);
        string line = null;
        int line_number = 0;
        int line_to_delete = 12;

        using (StreamReader reader = new StreamReader(fileStream))
        {
            using (StreamWriter writer = new StreamWriter(fileStream))
            {
                while ((line = reader.ReadLine()) != null)
                {
                    line_number++;

                    if (line_number == line_to_delete)
                        continue;

                    writer.WriteLine(line);
                }
            }
        }

在我使用下面的部分代码之前一切正常,但我想读取和写入同一个文件。

using (StreamReader reader = new StreamReader(@"C:\Users\user\Desktop\my.txt"))
using (StreamWriter writer = new StreamWriter(@"C:\Users\user\Desktop\my2.txt")) 

【问题讨论】:

    标签: c#


    【解决方案1】:

    在 FileStream 构造函数中使用FileMode.Truncate。例如:

    FileStream fileStream = new FileStream(textBox3.Text, FileMode.Truncate, FileAccess.ReadWrite, FileShare.None);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-05
      • 2011-12-09
      • 1970-01-01
      • 1970-01-01
      • 2015-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多