摘要:
使用 FileStream 类 练习 文件读写操作。using System;
using System.IO;
using System.Text;
namespace FileStream练习
{
class Program
{
sta
使用 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();//按任意键
}
}
}
}
输出结果: