《数据访问 - 第01章 文件 - 文件和流的概念》

《数据访问 - 第01章 文件 - 文件和流的概念》

1、数据
在软件领域中,数据持久化方式包括:
a)磁盘文件,在C#中使用文件流来进行数据的读写操作
b)数据库,在C#使用ADO.NET来进行数据的读写操作


2、文件
1)文件概念
狭义的理解就是驻留在介质上的某文件夹下的文档,并用一个名称去标识它。
广义的理解则是一组相关数据的有序集合,集合的名称即为文件名,包含设备文件等。

2)文件分类
计算机文件基本上分为二种:
文本文件:基于字符编码的文件,常见的编码有ASCII编码,UNICODE编码等
二进制文件:为了与文本文件相区别,常把除了文本文件以外的文件称为二进制文件

备注:
由于计算机的存储在物理上是二进制的,所以文本文件与二进制文件的区别并不是物理上的,而是逻辑上的。这两者只是在编码层次上有差异。文本文件是二进制文件的一个子集。


3、流
1)概念
示例:一般在形容单相思的时候,都有一句成语:“落花有意流水无情” 流过的水是不能回头的,基于此,流的最大概念是单向处理。
计算机对文件的操作时以流的方式进行的,流是内存中的一组有序数据序列。

2)流的基本操作
读取 - 从流中读取数据到变量中
写入 - 把变量中的数据写入到流中
定位 - 重新设置流的当前位置

程序将数据从源(文件、内存、键盘、网络)中读入到内存中,形成了流,然后再将流写至目标(文件、内存、控制台、网络)。
之所以称为流,是因为这个数据序列在不同时刻所对应的是源的不同部分。


4、文件和流的相关类库
在System.IO命名空间内提供了多种类型用于进行数据文件和数据流的读写操作。
<完整的图示见附件01>

1)目标对象
Path、Directory、File、FileSystemInfo(包括:DirectoryInfo、FileInfo)

2)流
Stream(包括:FileStream、MemoryStream、BufferStream等)

3)流对象进行读写
文本模式:Text(StreamReader、StreamWriter、StringReader、StringWriter)
二进制模式:Binary(BinaryReader、BinaryWriter)

你可能感兴趣的:(《数据访问 - 第01章 文件 - 文件和流的概念》)