基本的文件读取方法
//1.创建文件流对象 ,并说明打开方式,主要就就是和磁盘建立一个通道
FileStream stream = new FileStream(@"D:\1.txt", FileMode.Open);
//2.建立一个byte数组用于存储当前的数据,总得告诉自己存在哪里吧,创建一个可以存储的地方
byte[] byt = new byte[1024*1024];
//3.吧打开的文件以字节流的方式读取到 字节数组当中,,
stream.Read(byt, 0, byt.Length); //实际上已经建立通道了
//3.获取到数据 转码成为当前的字符编码
string text = Encoding.Default.GetString(byt);
txtTest.Text = text;
//5.文件关闭
stream.Dispose()
被using管理的对象,就会自动调用Dispose()方法。这就说名能够被Using释放的类就得实现 IDisposable接口,
不然using对象就会报错
装箱就是将值类型转换成引用类型
拆箱就是将引用类型转换为值类型
FileStream.Ride的返回值是当前读取字节流的长度
//大文件的拷贝和操作
/
//1.建立读取文件流。
using (FileStream fileRide = new FileStream(@"F:\05 文件流补充.wmv", FileMode.Open))
{
// 创建写入文件流
using (FileStream fileWrite = new FileStream(@"D:\1.wmv", FileMode.Create))
{
byte[] saveByte = new byte[1024;
int lengyh = fileRide.Read(saveByte, 0, saveByte.Length); //试验证明每次流的位置读取一次指针就会向后面走
do
{
fileWrite.Write(saveByte, 0, saveByte.Length);
lengyh = fileRide.Read(saveByte, 0, lengyh); //Read第三个参数获取的是最多读取的字节数如果如果把此改成length最后一次就可以读取
} while (lengyh >= saveByte .Length );
// Read()的返回值是读取的当前字节流长度
// 也就是说当文件流指针指向最后一次可以读取的开始点,length<savebyte.length的长度就终止循环
}
MessageBox.Show("拷贝成功");