C#的文件写入

  关于C#如何写入文件,我将在下总结4种方法。

1.每一次输入都会覆盖原文本

用到 WriteAllText()

代码如下:

using System;


class Program
{
     static void Main(string[] args)
     {
          char[] c = { '3', '5', '7' };

          for (int i = 0; i < 3; i++) {
              String s = c[i].ToString();

              //将字符数组的内容写入文件111.txt中
              System.IO.File.WriteAllText(@"C:\Users\地心\Desktop\111.txt", s);
          }

          Console.WriteLine("写入成功");
      }
}

查看写入文件内容如下:

如果文件不覆盖,那文件111.txt中的内容会是:357 ,而此时文本内容只有7,说明每一次文本输入都会覆盖原文件。所以用WriteAllText()会覆盖原文件。

2.每一次写入不会覆盖原文件,而是以追加的方式添加在文本末尾

用到 AppendAllText()

代码如下:

using System;

class Program
{
     static void Main(string[] args)
     {
          char[] c = { '3', '5', '7' };

          for (int i = 0; i < 3; i++) {
              String s = c[i].ToString();
              //将字符数组的内容写入文件111.txt中
              System.IO.File.AppendAllText(@"C:\Users\地心\Desktop\111.txt", s);
          }

          Console.WriteLine("写入成功");
     }
}

此时文件111.txt内容如下:

看到此时文本中357都已写入,但是可以发现,输入的内容不换行,而是直接追加在上一次写入内容之后,下面一种方法是使每次写入内容都换行。

3.每一次写入不会覆盖原文本,而是以换行添加的方式写入文本末尾

与第二点相同,还是用到了 AppendAllText()

代码如下:

using System;

class Program
{
     static void Main(string[] args)
     {
          char[] c = { '3', '5', '7' };

          for (int i = 0; i < 3; i++) {
              String s = c[i].ToString() + "\r\n";
              //将字符数组的内容写入文件111.txt中
              System.IO.File.AppendAllText(@"C:\Users\地心\Desktop\111.txt", s);
          }

          Console.WriteLine("写入成功");
     }
}

此时写入文本的内容为:

 在每次要写入的内容中进行修改,即在写入的字符串s后添加了"\r\n"的换行符。

注意,以上的方法只有在写入的内容是字符串时才可执行。

4.文件流写入文本,会覆盖原文本

代码如下:

using System;
using System.IO;

class Program
{
     static void Main(string[] args)
     {
          char[] c = { '3', '5', '7', '9' };

          //创建文件流file1
          FileStream file1 = new FileStream(@"C:\Users\地心\Desktop\111.txt", 
           FileMode.OpenOrCreate, FileAccess.Write);

          //根据文件流file1创建写数据流wf
          StreamWriter wf = new StreamWriter(file1);

          for (int i = 0; i < 4; i++) {
              String s = c[i].ToString();  //要写入内容
              wf.WriteLine(s);    //用WriteLine()写入,并会自动换行
              //wf.Write(s);      //此句不换行
          }

          wf.Flush();    //清空缓冲区
          wf.Close();    //关闭写数据流
          file1.Close();   //关闭文件流

          Console.WriteLine("写入成功");
     }
}

文本文档此时内容为:

若要文本不换行只需要将

wf.WriteLine(s);

改为以下的代码即可

wf.Write(s);

除了以上4种情况之外还存在其他的方法,请大家自行探索,不足之处望指正。

  • 2
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C#中,可以使用NPOI库来实现对Excel文件写入操作。具体步骤如下: 1. 引入NPOI库,可以通过NuGet包管理器来安装。 2. 创建一个Workbook对象,表示一个Excel文件。 3. 创建一个Sheet对象,表示一个工作表。 4. 创建行和单元格对象,设置单元格的值。 5. 将行对象添加到工作表中。 6. 将工作表添加到Workbook对象中。 7. 将Workbook对象写入到Excel文件中。 下面是一个示例代码,演示如何将数据写入Excel文件中: ``` using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using System.Collections.Generic; using System.IO; public class Supply { public string Value1 { get; set; } public string Value2 { get; set; } public string Value3 { get; set; } } public void WriteToExcel(List<Supply> data, string filePath) { // 创建一个Workbook对象,表示一个Excel文件 IWorkbook workbook = new HSSFWorkbook(); // 创建一个Sheet对象,表示一个工作表 ISheet sheet = workbook.CreateSheet("Sheet1"); // 创建行和单元格对象,设置单元格的值 int rowIndex = 0; foreach (Supply supply in data) { IRow row = sheet.CreateRow(rowIndex++); row.CreateCell(0).SetCellValue(supply.Value1); row.CreateCell(1).SetCellValue(supply.Value2); row.CreateCell(2).SetCellValue(supply.Value3); } // 将Workbook对象写入到Excel文件中 using (FileStream fs = new FileStream(filePath, FileMode.Create, FileAccess.Write)) { workbook.Write(fs); } } ``` 在上面的代码中,我们首先创建了一个Workbook对象,然后创建了一个Sheet对象,表示一个工作表。接着,我们遍历数据列表,创建行和单元格对象,并设置单元格的值。最后,将Workbook对象写入到Excel文件中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值