【问题标题】:How can i Rewrite File instead of appending using StreamWriter and file stream我如何重写文件而不是使用 StreamWriter 和文件流附加
【发布时间】:2023-07-05 23:02:02
【问题描述】:

我想使用StreamWriter 重写文本文件。但是当StreamWriter 使用流时(如以下代码),文本将附加到文件中。

StreamWriter sw = new StreamWriter(fstream);
sw.Write(text);
sw.Close();

由于文件共享限制,我必须在代码中使用 Stream

【问题讨论】:

    标签: c# filestream streamwriter file-writing


    【解决方案1】:

    FileMode.Create 将创建一个新文件。如果文件存在,它会显示异常。使用 FileMode.Truncate。

     string txt="your text";
        using (FileStream fs = new FileStream(@"C:\Users\rajesh.kumar\Desktop\test123.txt", FileMode.Truncate))
        {
            using (StreamWriter writer = new StreamWriter(fs))
            {
                writer.Write("txt");
            }
        } 
    

    【讨论】:

      【解决方案2】:

      如果使用文件流,设置FileMode:

      using (FileStream fs = new FileStream(fileName, FileMode.CreateNew))
      {
          using (StreamWriter writer = new StreamWriter(fs))
          {
              writer.Write(textToAdd);
          }
      } 
      

      【讨论】:

      • 嗨。我想在写作之前阅读文件。然后用 FileMode.Open 声明文件流
      • @hosseinsafavi 创建两个不同的流 - 用于读取和写入 - 这是个好方法