化繁为简:C# 实现文件读写的三种技巧
2023-11-05 09:31:07
在日常编程中,文件操作是一个非常常见且重要的任务。C#提供了多种方法来读取和写入文件,每种方法都有其独特的优点和缺点。本文将介绍C#中实现文件读写的三种常用方式:二进制读写、流读写和字符串读写。
方式一:二进制读写
二进制读写是最基本的文件读写方式,它允许您直接读取和写入文件的原始字节。要进行二进制读写,您可以使用BinaryReader和BinaryWriter类。以下代码示例演示了如何使用BinaryReader读取文件中的字节:
using System;
using System.IO;
namespace BinaryReadWriteDemo
{
class Program
{
static void Main(string[] args)
{
// 读取文件中的字节
using (BinaryReader reader = new BinaryReader(File.Open("data.bin", FileMode.Open)))
{
byte[] bytes = reader.ReadBytes(10);
// 将字节转换为字符串
string str = System.Text.Encoding.UTF8.GetString(bytes);
// 打印字符串
Console.WriteLine(str);
}
}
}
}
上面的代码首先使用File.Open方法打开一个名为"data.bin"的文件,并将其作为参数传递给BinaryReader的构造函数。然后,使用ReadBytes方法读取文件中的前10个字节,并将其存储在bytes数组中。最后,使用System.Text.Encoding.UTF8.GetString方法将字节数组转换为字符串,并将其打印到控制台。
方式二:流读写
流读写是一种更高级的文件读写方式,它允许您以流的形式读取和写入文件。要进行流读写,您可以使用StreamReader和StreamWriter类。以下代码示例演示了如何使用StreamReader读取文件中的文本:
using System;
using System.IO;
namespace StreamReadWriteDemo
{
class Program
{
static void Main(string[] args)
{
// 读取文件中的文本
using (StreamReader reader = new StreamReader("data.txt"))
{
string text = reader.ReadToEnd();
// 打印文本
Console.WriteLine(text);
}
}
}
}
上面的代码首先使用File.OpenText方法打开一个名为"data.txt"的文件,并将其作为参数传递给StreamReader的构造函数。然后,使用ReadToEnd方法读取文件中的所有文本,并将其存储在text变量中。最后,将text变量打印到控制台。
方式三:字符串读写
字符串读写是C#中读取和写入文件最简单的方式,它允许您直接读取和写入文件的字符串内容。要进行字符串读写,您可以使用File.ReadAllText和File.WriteAllText方法。以下代码示例演示了如何使用File.ReadAllText读取文件中的字符串:
using System;
using System.IO;
namespace StringReadWriteDemo
{
class Program
{
static void Main(string[] args)
{
// 读取文件中的字符串
string text = File.ReadAllText("data.txt");
// 打印字符串
Console.WriteLine(text);
}
}
}
上面的代码首先使用File.ReadAllText方法读取文件中的所有文本,并将其存储在text变量中。然后,将text变量打印到控制台。
总结
本篇文章介绍了C#中实现文件读写的三种常用方式:二进制读写、流读写和字符串读写。每种方式都有其独特的优点和缺点,您应该根据自己的需求选择最合适的方式。
- 二进制读写:速度快,但需要对文件格式有深入的了解。
- 流读写:速度适中,但更灵活,可以处理各种类型的数据。
- 字符串读写:速度较慢,但使用最简单。