FileStream文件流

时间:2024-01-11 15:00:08

操作字节

文件流和文件的区别

  文件不管大小,一次读写

  文件流可以分块读写

//文件流的资源GC不会释放,所以需要使用using
using (FileStream fsRead = new FileStream(@"D:\Users\desktop\a.txt",FileMode.OpenOrCreate,FileAccess.Read))
{
using (FileStream fsWrite = new FileStream(@"D:\Users\desktop\b.txt", FileMode.OpenOrCreate, FileAccess.Write))
{
//缓冲区(下载数据达到5兆,往硬盘写入一次)
//fsRead.Length文件大小
byte[] buffer = new byte[ * * ];
while (true)
{
//往缓冲区写入数据(数据,偏移量(从0开始,不会丢失数据),写入字节)
int r = fsRead.Read(buffer, , buffer.Length);
if (r==)
{
break;
}
//从缓冲区取数据,(数据,偏移量(从0开始,不会丢失数据),实际读取到的字节)
fsWrite.Write(buffer, , r);
}
}
}