using System;
using System.Collections.Generic;
using
System.ComponentModel;
using System.Data;
using System.Drawing;
using
System.IO;
using System.Linq;
using System.Text;
using
System.Threading.Tasks;
using System.Windows.Forms;
namespace 文件流的操作
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
/// <summary>
/// 用于大文件的拷贝
///
</summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void
button1_Click(object sender, EventArgs e)
{
//快速得到文件流的三个方法
// FileStream fs =
File.Open("path",FileMode.Open);
// FileStream fs1 =
File.OpenRead("path");//返回一个读的文件流
// FileStream fs2 =
File.OpenWrite("path");//返回一个写的文件流
//1准备一个用于读数据的文件流
using (FileStream
streamReader = new FileStream(@"F:\1.txt",FileMode.Open))//using的本质是一个try
finally
{
//2.准备一个用于写数据的文件流
using
(FileStream streamWrite = new FileStream(@"F:\2.txt", FileMode.Create))
{
//3.准备一个字节数组用于保存读出来的数据
byte[] data = new
byte[1024 * 1024];
//4.用读的文件流将数据读出来,放到字节数组里
int lenght
= 0;
do{
//返回实际读取的大小
lenght = streamReader.Read(data, 0,
data.Length);//读取的时候是从上一次读到的地方继续读取,而不是从头开始读可以用streamReader.Position进行查看
streamWrite.Write(data,0,lenght);
}while(lenght>=data .Length);
}
}
MessageBox.Show("文件拷贝成功!");
}
}
}
原文地址:http://www.cnblogs.com/sumg/p/3743980.html