温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C#中怎么实现文件处理操作

发布时间:2021-07-07 17:36:02 来源:亿速云 阅读:161 作者:Leah 栏目:编程语言

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[]--------->缓存流--------->另一个流

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI