C#文件处理相关机制解析

开发 后端
这里将从最基本的概念入手,介绍C#文件处理相关机制,包括读写文件、流的定义等等。希望本文能对大家有所帮助。
C#文件处理一般涉及到文件流,以及读文件和写文件。弄懂这些概念就会对C#文件处理有一个更深刻的理解,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[]--------->缓存流--------->另一个流

【编辑推荐】

  1. C# this关键字详解
  2. C#调用析构方法详解
  3. C#释放托管资源简单描述
  4. C#单路代理简单分析
  5. C#文法产生式概述
责任编辑:彭凡 来源: 百度空间
相关推荐

2009-09-01 10:10:51

C# StreamRe

2009-08-06 15:12:22

C#异常机制

2009-08-05 18:28:05

C#异常处理

2009-06-11 11:17:59

Java多线程

2009-08-05 18:09:17

C#异常处理机制

2009-09-02 14:06:14

C#文件传送

2009-08-12 14:13:51

C#读写Excel文件

2009-09-01 10:28:38

C#追加文件

2009-09-01 09:46:51

C# FileStre

2009-09-02 17:12:06

C#关机代码

2009-09-02 18:34:28

C#鼠标事件

2009-09-02 17:24:44

C#关机代码

2009-09-07 18:41:18

2009-08-28 17:46:18

C#读取Word文档

2009-08-06 18:33:45

C#处理文本文件

2009-09-02 19:13:08

C#处理文本文件

2011-08-23 17:11:13

Lua事件C#

2009-09-01 14:08:58

C#操作Excel

2009-08-26 09:36:03

C#泛型

2009-08-05 18:39:54

C#异常类
点赞
收藏

51CTO技术栈公众号