常用类库--IO操作
IO操作
C#将文件视为一个字节序列,以流的方式对文件进行操作。流是字节序列的抽象概念。
文件和流之间既有区别又有联系。
文件是在各种驱动器上(可移动磁盘、硬盘、CD 等)永久或临时存储的数据的有序集合,是进行数据读写操作的基本对象。文件通常具有文件名、所在路径、创建时间、访问权限等基本属性。
流非常类似于单独的磁盘文件,同时也是进行数据读取操作的对象。流提供了连续的字节存储空间,通过流可以向后备存储器写入数据,也可以从后备存储器中读取数据。虽然数据实际的存储位置可以不连续,甚至可以分布在多个磁盘上,但是用户看到的是封装后的数据结构,是连续的字节流。
与IO操作相关的枚举
FileMode,表示文件的打开方式,枚举取值包括:
| 
 取值  | 
 说明  | 
| 
 Append  | 
 以追加方式打开文件,如果文件存在则在尾部追加,否则创建一个新文件  | 
| 
 Create  | 
 创建并打开一个新文件,如果文件已经存在则覆盖旧文件  | 
| 
 CreateNew  | 
 创建并打开一个新文件,如果文件已经存在则发生异常  | 
| 
 Open  | 
 打开现有文件,如果文件不存在则发生异常  | 
| 
 OpenOrCreate  | 
 打开或创建一个文件,如果文件已经存在则打开它,否则创建并打开一个新文件  | 
| 
 Truncate  | 
 打开现有文件,并清空文件内容  | 
SeekOrigin,表示以什么为基准来计算文件流中的偏移量,枚举取值包括:
| 
 取值  | 
 说明  | 
| 
 Begin  | 
 从文件流的起始位置计  | 
| 
 Current  | 
 从文件流的当前位置计  | 
| 
 End  | 
 从文件流的结束位置计  | 
FileAccess,表示对文件的访问权限,枚举取值包括:
| 
 取值  | 
 说明  | 
| 
 Read  | 
 对文件拥有读权限  | 
| 
 Write  | 
 对文件拥有写权限  | 
| 
 ReadWrite  | 
 对文件同时拥有读写权限  | 
FileShare,表示文件的共享方式,枚举取值包括:
| 
 取值  | 
 说明  | 
| 
 None  | 
 禁止任何形式的共享  | 
| 
 Read  | 
 读共享,打开文件后允许其他进程对文件进行读操作  | 
| 
 ReadWrite  | 
 读写共享,打开文件后允许其他进程对文件进行写操作  | 
| 
 Write  | 
 写共享,打开文件后允许其他进程对文件进行写操作  | 
FileAttributes,表示文件的类型,枚举取值包括:
| 
 取值  | 
 说明  | 
 取值  | 
 说明  | 
| 
 Archive  | 
 存档文件  | 
 Compressed  | 
 压缩文件  | 
| 
 Device  | 
 设备文件  | 
 Directory  | 
 目录  | 
| 
 Encrypted  | 
 加密文件  | 
 Hidden  | 
 隐藏文件  | 
| 
 Normal  | 
 普通文件  | 
 NotContentIndexed  | 
 无索引文件  | 
| 
 Offline  | 
 脱机文件  | 
 ReadOnly  | 
 只读文件  | 
| 
 ReparsePoint  | 
 重分析文件  | 
 SparseFile  | 
 稀疏文件  | 
| 
 System  | 
 系统文件  | 
 Temporary  | 
 临时文件  | 
DriveType,表示驱动器类型,枚举取值包括:
| 
 取值  | 
 说明  | 
 取值  | 
 说明  | 
| 
 CDRom  | 
 CD-ROM驱动器  | 
 Fixed  | 
 固定磁盘驱动器  | 
| 
 NetWork  | 
 网络驱动器  | 
 NoRootDirectory  | 
 不含根目录的驱动器  | 
| 
 Ram  | 
 RAM闪存驱动器  | 
 Removable  | 
 可移动存储设备  | 
| 
 Unknown  | 
 驱动器设备类型未知  | 
 
  | 
 
  | 
DriveInfo类
用于对驱动器进行操作
DirectoryInfo类
用来描述一个文件夹对象。
Directory类
用于操作目录类(静态类)。
FileInfo类
用来描述一个文件对象。
File类
用于操作文件(静态类)。
Path类
对文件或目录的路径进行操作的类。
Stream类
流是以序列的方式对数据进行操作,因此支持长度和当前位置的概念。Stream支持同步和异步地数据读写。在同步操作中,一个流对象只有一个当前位置,不同的程序或进程都在当前位置进行读写;而在异步操作中,不同的程序或进程可以在不同位置上进行读写,当然这需要文件的共享支持。
FileStream
文件流,对文件进行读写操作
文件流FileStream支持同步和异步文件读写,它还可以使用输入输出缓存以提高性能。
使用完FileStream对象后,一定不要忘记使用Close方法来关闭文件流,否则不仅会使别的程序不能访问该文件,还可能导致文件损坏。
打开文件,同时对该文件创建了读写器,则在关闭时,先关闭StreamWriter才能关闭StreamReader,最后才能关闭文件
StreamReader
对文本文件的读取
StreamWriter
用于对文本文件的写入操作
什么是文本文件?
直接用字符串格式存储。即,使用记事本打开文件时,不会出现乱码。
GZipStream
压缩流
                    
                
                
            
        
浙公网安备 33010602011771号