C的FileStream怎么使用
C中的FileStream类是一个用于处理文件I/O操作的类,它提供了对文件的读写功能,本文将详细介绍如何使用C的FileStream类进行文件的读写操作。
创建FileStream对象
要使用FileStream类,首先需要创建一个FileStream对象,创建FileStream对象时,需要传入两个参数:一个是文件路径,另一个是访问模式,访问模式可以是只读、只写或读写模式。
1、创建只读模式的FileStream对象
using System; using System.IO; class Program { static void Main() { string filePath = "test.txt"; FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read); } }
2、创建只写模式的FileStream对象
using System; using System.IO; class Program { static void Main() { string filePath = "test.txt"; FileStream fileStream = new FileStream(filePath, FileMode.Create, FileAccess.Write); } }
3、创建读写模式的FileStream对象
using System; using System.IO; class Program { static void Main() { string filePath = "test.txt"; FileStream fileStream = new FileStream(filePath, FileMode.Append, FileAccess.Write); } }
读取文件内容
在创建了FileStream对象后,可以使用Read方法从文件中读取数据,Read方法有多个重载形式,可以根据需要选择合适的重载形式,以下是一些常用的Read方法:
1、Read(byte[] buffer, int offset, int count):从文件中读取count个字节的数据,并将其存储到buffer数组中,从offset位置开始存储,如果读取成功,返回实际读取的字节数;如果已经到达文件末尾,则返回0。
using System; using System.IO; class Program { static void Main() { string filePath = "test.txt"; FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read); byte[] buffer = new byte[1024]; int bytesRead; while ((bytesRead = fileStream.Read(buffer, 0, buffer.Length)) > 0) { Console.WriteLine(Encoding.Default.GetString(buffer, 0, bytesRead)); } } }
2、ReadByte():从文件中读取一个字节的数据,如果已经到达文件末尾,则抛出EndOfStreamException异常,如果读取成功,返回读取到的字节值;如果已经到达文件末尾,则返回-1。
using System; using System.IO; class Program { static void Main() { string filePath = "test.txt"; FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read); int byteValue = fileStream.ReadByte(); Console.WriteLine("读取到的字节值为:" + byteValue); } }
写入文件内容
在创建了FileStream对象后,可以使用Write方法将数据写入文件,Write方法也有多个重载形式,可以根据需要选择合适的重载形式,以下是一些常用的Write方法:
1、Write(byte[] buffer):将buffer数组中的数据写入文件,如果写入成功,返回实际写入的字节数;如果已经到达文件末尾,则返回0,如果在写入过程中发生错误,抛出IOException异常。
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/132166.html