C#文件处理机制总结

1、什么是流?:流是用来载体与载体之间传送数据的。【载体是数据的载体,如:如果数据存放在硬盘上,则硬盘是载体,放U盘上,则U盘是载体,以此类推】

2、流传送数据的方式是什么?:一个字节一个字节的传送,说白了就是传送字节数组。【字节数组是连续的内存空间】

3、把对象用流传送必须先转换为字节数组。

4.读文件实质:string---->编码、序列化、把字符串转换为字节数组--->byte[]--->fs[FileStream]--->文件

5.写文件的实质:文件--->fs[FileStream]--->byte[]--->解码、反序列化、把字节数组转换为字符串--->string

6、当流对文件进行写操作[Write]时,会自动调用一个新线程来专门写文件,所以对文件的写操作完毕后必须清空缓冲区,fs.Flush(); fs是FileStream的一个实例,即--->清空非托管内存。因为在进行对文件的写操作时,会新建一个文件,Windows系统将会调用windows代码,才会存在非托管内存。 调用fs.Flush()时主线程等待从线程写入完毕,就相当于调用了EndInvoke(),它自动实现了IDisposable接口来释放非托管内存.

7、在对文件进行读取操作的时候,可能出现乱码,原因是--->没有采用同一套字符集的编码器。如:UTF8ENCODING、gb2312、UNICODE等

8、流的分类:    byte[]---------->文件流--------->文件

                           byte[]--------->网络流--------->网络

                           byte[]--------->内存流--------->对象

                            byte[]--------->缓存流--------->另一个流
 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值