文件流(FileStream,StreamReader,StreamWriter)


前言

今天又继续学的关于文件的操作方法,不过学的是文件流,感觉这个真的得到需要超多练习,看着会了,实在依然懵逼!!!


提示:以下是本篇文章正文内容,下面案例可供参考

一、FileStream

FileStream和File的区别

先来说说这两个的区别吧,其实昨天的文章有稍微说过,file是用于操作小文件的,那今天这文件流FileStream那必定就是操作大文件的。
有点类似与将满水的水缸的水装至空水缸的方法:
一种是扛起满水的水缸,将水全部到至空水缸中(File)
另一种是用一个水瓢,一勺一勺的拿出水,到至空水缸中(FileStream)

FileStream

但是通过今天的学习我感觉这个文件流是真的不适合对文本文件进行操作,感觉不如直接用StreamReader和StreamWriter来操作
各位先看它对文本文件的操作吧

//读取操作
//1.创建一个FileStream对象
            //传入地址,要做的操作,读取或写入
            FileStream fsRead = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Read);
            //因为其是一部分一部分读取,所以要定义字节数组用于存储读到的数据
            //定义每次读取的长度5M
            //长度有上限
            byte[] buffer = new byte[1024 * 1024 * 5];
            //存储的字节数组,开始读取的地方,每次读取长度
            //返回int类型是因为,可能读取的长度比实际剩余长度大
            //返回实际读取长度
            int r = fsRead.Read(buffer, 0, buffer.Length);
            //将字节数组中每个元素按照指定格式进行解码
            //解码为字符串
            //防止读取的远远超过实际长度,设置开始解码位置,和终止解码位置
            //但是实际读取依然是5M,只是只解码了所要的区域
            string s = Encoding.Default.GetString(buffer
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值