C#读取写入文件的3种方式示例代码

介绍C#读取写入文件的常用方法,下面我们来逐一讲解:

使用File.ReadAllText和File.WriteAllText方法

File.ReadAllText方法可以用于读取指定路径文件中的所有文本,并将所有文本内容作为字符串返回。它有一个参数用于传入文件路径,例如:

string text = File.ReadAllText("test.txt");

File.WriteAllText则用于将一段文本内容写入指定路径的文件中。它有两个参数,第一个参数为文件路径,第二个参数为需要写入的文本内容。例如:

File.WriteAllText("test.txt", "这是一段文本内容");

接下来可以使用File.ReadAllText方法读取这个文件,可以看到输出结果为“这是一段文本内容”。

使用StreamReader和StreamWriter类

StreamReader和StreamWriter类提供了更加强大的文件读写功能,主要区别在于它们可以对文件进行编码设置或者转换成指定的字符串类型。StreamReader的构造函数需要传入一个Stream类型的对象,可以使用File.OpenRead方法获取指定路径的文件流。例如:

StreamReader sr = new StreamReader(File.OpenRead("test.txt"), Encoding.UTF8);
string text = sr.ReadToEnd();

StreamWriter的构造函数需要传入一个Stream类型的对象,这里同样可以使用File.OpenWrite方法获取指定路径的文件流,然后利用WriteLine方法向文件中写入内容。例如:

using (StreamWriter sw = new StreamWriter(File.OpenWrite("test.txt"), Encoding.UTF8))
{
    sw.WriteLine("这是一段文本内容");
}

接下来可以使用StreamReader类读取这个文件,可以看到输出结果为“这是一段文本内容”。

使用BinaryReader和BinaryWriter类

BinaryReader和BinaryWriter类提供了二进制文件读写功能,它们的构造函数也需要传入一个Stream类型的对象。这里使用File.OpenRead和File.OpenWrite方法获取指定路径的文件流是最方便的方式。例如:

using (BinaryWriter writer = new BinaryWriter(File.OpenWrite("test.dat")))
{
    writer.Write("这是一段文本内容");
}

using (BinaryReader reader = new BinaryReader(File.OpenRead("test.dat")))
{
   string text = reader.ReadString();
}

接下来可以使用BinaryReader类读取这个文件,可以看到输出结果为“这是一段文本内容”。

综合以上三种方法,我们可以根据需要选择最适合自己的方式进行文件读写操作。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#读取写入文件的3种方式示例代码 - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • 如何实现定时推送的具体方案

    要实现定时推送,我们可以借助第三方定时任务框架,例如node-schedule、cron等。 安装定时任务框架node-schedule 我们可以在项目目录下执行以下命令安装node-schedule: npm install node-schedule 编写定时推送代码 在项目代码中引入node-schedule框架,使用框架提供的scheduleJob(…

    C# 2023年6月6日
    00
  • async/await地狱该如何避免详解

    当使用异步操作的时候,我们通常会用到async/await来处理异步请求,但是如果不恰当地使用,可能会出现“async/await地狱”的情况,导致代码难以维护和阅读。以下是一些可以避免“async/await地狱”的技巧: 1. 使用Promise.all来并发执行多个异步操作 如果需要执行多个异步操作,可以考虑使用Promise.all来并发执行它们。使…

    C# 2023年6月6日
    00
  • C#使用AutoResetEvent实现同步

    C#中使用AutoResetEvent实现同步是一种常见的方式,AutoResetEvent是一个同步对象,它允许一个线程等待另一个线程去发出一个信号,当信号发出后,等待的线程就会恢复执行。 实现方式: 首先需要在代码中创建一个AutoResetEvent实例对象,该对象用于线程间的同步,然后在需要同步的线程中调用WaitOne方法让线程等待信号,当发出信号…

    C# 2023年6月7日
    00
  • C#使用标签软件Bartender打印标签模板

    下面是C#使用标签软件Bartender打印标签模板的完整攻略: 1. 引入Bartender SDK 首先需要在C#工程中引入Bartender SDK。在 Visual Studio 中,打开项目 Solution Explorer,右键点击引用目录,选择添加引用,找到刚刚安装的 Bartender SDK 程序文件夹下的 “Interop.Seagul…

    C# 2023年6月7日
    00
  • C#中的==运算符

    当我们在C#中使用“==”运算符时,它主要用于比较两个值或者引用类型对象是否相等。 在C#中,基础类型如int、double、bool等都是值类型,使用“==”运算符时会比较它们的值是否相等,例如: int a = 1; int b = 1; bool result = a == b; // result为true,因为a和b的值相等 而引用类型如strin…

    C# 2023年5月14日
    00
  • C# 递归函数详细介绍及使用方法

    C#递归函数详细介绍及使用方法 什么是递归函数? 递归函数是一种函数,它调用自身来解决问题。在编程中,递归函数通常用于解决计算机科学中的分治问题或数学归纳法中的问题。C#编程语言支持递归函数,并在解决某些问题时非常有用。 递归函数的工作原理 递归函数是基于递归的思想而设计的。其大致工作方式为:1. 函数调用自身2. 函数执行一些操作3. 递归函数达到结束状态…

    C# 2023年5月15日
    00
  • 手动把asp.net的类生成dll文件的方法

    为手动把ASP.NET的类生成DLL文件,需要按照以下步骤操作: 步骤一:创建ASP.NET类 首先,我们需要创建一个ASP.NET类。在Visual Studio中,可以通过以下步骤创建: 打开Visual Studio,创建一个新项目。 在“新建项目”对话框中,选择“ASP.NET Web 应用程序”类型。 输入项目名称,选择位置,点击“确定”。 在“新…

    C# 2023年5月31日
    00
  • C# String.Concat()方法: 连接两个或多个字符串

    C#中的String.Concat()方法可以将一个或多个字符串连接到一起,并返回一个新的字符串。对于每个传递给方法的参数,字符串都会被复制到新字符串中。这个方法是静态方法,可以使用类名来调用,其语法如下: string.Concat(string str0, string str1, …, string strN) 其中,str0、str1…strN是…

    C# 2023年4月19日
    00
合作推广
合作推广
分享本页
返回顶部