C# FileStream 读写文件操作
使用 FileStream 类 练习 文件读写操作。
using System; using System.IO; using System.Text; namespace FileStream练习 { class Program { static void Main(string[] args) { Console.WriteLine("请输入一句话:");//提示 string str = Console.ReadLine();//接收用户输入的字符串 byte[] bw = Encoding.UTF8.GetBytes(str);//将用户输入的字符串转换为 字节数组 FileStream fsWrite = new FileStream(@"D:\Users\Desktop\小道博客.txt", FileMode.OpenOrCreate, FileAccess.Write);//实例化FileStream,FileMode.OpenOrCreate 打开或读取文件,FileAccess.Write 文件写入权限。 fsWrite.Write(bw, 0, bw.Length);//将字节块写入文件流,bw字节数组,0 从零开始的字节偏移量,从此处开始将字节复制到该流。bw.Length 最多写入的字节数。 fsWrite.Close();//关闭流 fsWrite.Dispose();//释放资源 Console.WriteLine("写入成功!按任意键读取数据.");//提示 Console.ReadKey();//按任意键 using (FileStream fsRead = new FileStream(@"D:\Users\Desktop\小道博客.txt", FileMode.OpenOrCreate, FileAccess.Read))//使用 using 实例化 FileStream ,using自动关闭流和释放. { byte[] br = new byte[1024 * 1024 * 2];//声明字节数组,大小为2M。 int r = fsRead.Read(br, 0, br.Length);//从流中读取字节块并将该数据写入给定缓冲区中。将读取的字节依次存入 br数组中。每次为2M,返回值为 读取的字节大小 r。 string s = Encoding.UTF8.GetString(br, 0, r);//将字节转换为 字符串,从0开始,到 读取到的字节数组大小 r, Console.WriteLine(s);//输出 Console.WriteLine("读取成功!");//提示 Console.ReadKey();//按任意键 } } } }
输出结果: