1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
static void Main(string[] args)
{
string source = @"C:\Users\SpringRain\Desktop\222.txt"; //源文件路径
string target = @"C:\Users\SpringRain\Desktop\333.txt"; //新文件路径
CopyFile(source, target);
Console.WriteLine("复制成功");
Console.ReadKey();
}
static void CopyFile(string source, string target)
{
//负责读取
using (FileStream fsRead = new FileStream(source, FileMode.OpenOrCreate, FileAccess.Read)) //我们的程序是从上往下执行的,所以我们可以在循环里面进行循环的读取和写入。
{
//负责写入
using (FileStream fsWrite = new FileStream(target, FileMode.OpenOrCreate, FileAccess.Write))
{
//5M的缓冲区
byte[] buffer = new byte[1024 * 1024 * 2]; //在外面设置一个缓冲区
while (true) //我们循环的写入和读取文件,因为文件流的操作方式就是从缓冲区不断de读取和写入
{
//开始读取
int r = fsRead.Read(buffer, 0, buffer.Length); //读取缓冲区的实际文件内容
if (r == 0) //如果缓冲区么有数据了,那么就不再进行读写咋操作了
{
break;
}
fsWrite.Write(buffer, 0, r); //写入文件
}
}
}
}
|