个人学习笔记之,使用文件流对文件进行复制。
使用流 对文件进行读取 和复制
var sw = Stopwatch.StartNew();
//读写流文件
//读取文件
FileStream readFileStream = new FileStream(@"E:\GFNorma.zip", FileMode.Open,FileAccess.Read);
//readFileStream.ReadByte();
//写入文件
FileStream fileStream = new FileStream(@"E:\FileCopy.zip",FileMode.Create,FileAccess.ReadWrite);
//fileStream.WriteByte();
#region 方法一,每次读取写入一个字节
边读边写
//int nextByte = -1;
//while ((nextByte = readFileStream.ReadByte()) != -1)
//{
// fileStream.WriteByte((byte)nextByte);
// //Console.WriteLine(nextByte);
//}
//sw.Stop();
#endregion
//方法二
byte[] buffer=new byte[1024];
int count = -1;
while ((count = readFileStream.Read(buffer, 0, 1024)) != 0)
{
fileStream.Write(buffer, 0, count);
}
Console.WriteLine(sw);
Console.WriteLine(sw.ElapsedMilliseconds);
//使用完关闭流文件(一般是先开后关)
fileStream.Close();
readFileStream.Close();
总结,
使用方法1,是一个一个字节进行读取和写入。用时较长
使用方法2,可1024个字节进行读取和写入,用时较短。