C# FileStream简单介绍和使用
简介
FileStream是C#中用于文件操作的类之一,它可以对文件进行读写操作。使用FileStream类操作文件时,首先需要创建FileStream的实例,然后使用该实例的方法来进行文件读写操作。
创建FileStream实例
在创建FileStream实例时,要指定文件路径和文件模式。文件模式可以是读模式、写模式、追加模式。
FileStream fileStream = new FileStream(path, FileMode mode);
其中,path表示文件路径,mode表示文件模式,可用的文件模式有以下三种:
FileMode.Create
: 如果文件不存在,则新建文件。如果文件已经存在,则清空文件并打开。FileMode.Open
: 如果文件不存在,则抛出异常。如果文件已经存在,则打开文件。FileMode.Append
: 如果文件不存在,则新建文件。如果文件已经存在,则追加到文件结尾。
读取文件
使用FileStream读取文件时,可以先将文件内容读入一个byte数组中,然后再将byte数组转化为字符串。示例代码如下:
FileStream fileStream = new FileStream(filePath, FileMode.Open);
byte[] bytes = new byte[fileStream.Length];
fileStream.Read(bytes, 0, (int)fileStream.Length);
string content = Encoding.UTF8.GetString(bytes);
fileStream.Close();
在上述代码中,fileStream.Read(bytes, 0, (int)fileStream.Length)
读取文件内容并存储到bytes数组中,Encoding.UTF8.GetString(bytes)
将byte数组转化为字符串。
写入文件
使用FileStream写入文件时,可以先将要写入的文本内容转化为byte数组,然后再将byte数组写入到文件中。示例代码如下:
string content = "Hello, World!";
byte[] bytes = Encoding.UTF8.GetBytes(content);
FileStream fileStream = new FileStream(filePath, FileMode.Create);
fileStream.Write(bytes, 0, bytes.Length);
fileStream.Flush();
fileStream.Close();
在上述代码中,Encoding.UTF8.GetBytes(content)
将要写入的文本内容转化为byte数组,fileStream.Write(bytes, 0, bytes.Length)
将byte数组写入到文件中,fileStream.Flush()
将缓冲区的数据写入到文件中。
示例
示例一:读取文件
假设有一个文本文件,其路径为D:\test.txt
,文件内容为Hello, World!
。以下示例代码实现了从该文件中读取文本内容,并将内容打印输出。
FileStream fileStream = new FileStream("D:\\test.txt", FileMode.Open);
byte[] bytes = new byte[fileStream.Length];
fileStream.Read(bytes, 0, (int)fileStream.Length);
string content = Encoding.UTF8.GetString(bytes);
fileStream.Close();
Console.WriteLine(content);
运行上述代码,输出结果为:
Hello, World!
示例二:追加写入文件
假设有一个文本文件,其路径为D:\test.txt
,文件内容为Hello, World!
。以下示例代码实现了向该文件中追加写入文本内容Nice to meet you!
。
string content = "Nice to meet you!";
byte[] bytes = Encoding.UTF8.GetBytes(content);
FileStream fileStream = new FileStream("D:\\test.txt", FileMode.Append);
fileStream.Write(bytes, 0, bytes.Length);
fileStream.Flush();
fileStream.Close();
运行上述代码,再次读取D:\test.txt
文件的内容,输出结果为:
Hello, World!Nice to meet you!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C# FileStream简单介绍和使用 - Python技术站