FileStream大文件使用方法

基本的文件读取方法

//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("拷贝成功");


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值