using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
//思路:就是现将要赋值的多媒体文件读取出来,然后希望如到你制定的位置
string source = @"D:\教程\1.txt";
string target = @"D:\教程\2.txt";
CopyFile(source, target);
Console.WriteLine("Copy Complete!");
Console.ReadKey();
}
public static void CopyFile(string source,string target)
{
//1。我们创建一个负责读取的流 fsRead
using(FileStream fsRead = new FileStream(source,FileMode.OpenOrCreate,FileAccess.Read))
//使用using语句减免代码,FileStream(src,mode,acs),节省Close() & Dispose()
{
//2.创建一个负责写入的流 fsWrite
using(FileStream fsWrite = new FileStream(target,FileMode.OpenOrCreate,FileAccess.Write))
//使用using语句减免代码,FileStream(src,mode,acs), 节省Close() & Dispose(),两个using嵌套,内部先Close() & Dispose()
{
byte[] buffer = new byte[1024*1024*5];
//因为文件可能会比较大,所以我们在读取的时候,应该通过一个循环去读取
while (true)//循环去读取写入
{
//返回本次实际读取到的字节数
int r = fsRead.Read(buffer, 0, buffer.Length);
//读取
//如果返回一个0,也就意味着什么都没有读取到,表示读取完了
if (r == 0)
{
break;
}
fsWrite.Write(buffer,0,r);
//写入
}
}
}
}
}
}
用FileStream加byte[]字节数组缓冲区读写文件
最新推荐文章于 2023-03-13 09:14:22 发布