一、I/O文件流
1、一个文件是一个存储在磁盘中带有指定名称和目录路径的数据集合。当打开文件进行读写时,它变成一个流。从根本上说,流是通过通信路径传递的字节序列。有两个主要的流:输入流和输出流。输入流用于从文件读取数据(读操 作),输出流用于向文件写入数据(写操作)
2、输入和输出
人类对于计算机操作数据,向计算机输入数据,读取计算机提供的数据。而对于计算机而言
(1.) 人类向计算机中写入数据,这个时候对于计算机而言是输出流操作
(2.) 人类读取计算机中存储的数据,这个时候对于计算机而言是输入操作
3、C#I/O类
System.IO命名空间有各种不同的类,用于执行各种文件操作,如创建和删除文件、读取或写入文件,关闭文件等
二、I/O流的类
(1)、FileStream类
<1>.System.IO命名空间中的FileStream类有助于文件的读写与关闭。该类派生自抽象类Stream
<2>.如何使用FileStream
创建FileStream对象:
创建一个FileStream对象来创建一个新的文件,或打开一个已有的文件。
创建的公式:FileStream <object_name> = new FileStream( <file_name>,, ,);
<3>四个参数分别的解释
[1. Path参数:文件的相对或绝对完整路径(目录+名称)
[2. FileMode参数:声明这个路径中的文件对象的文件模式
- Open:只是按照这个路径指定的文件打开文件流
- Create:只是按照这个路径指定的文件进行创建
- OpenOrCreate:按照这个指定路径的文件进行创建,如果文件有则打开文件流即可
- Append:打开或创建文件流,打开的话将流的光标移动到这个流的数据的最后,新数据是追加形式
- CreateNew:创建新的文件流,如果这个文件已存在,抛异常
- Truncate:打开文件流,打开之后将文件流中的数据直接清空
不管是创建文件流还是打开文件流,这个文件流对象每次只能被一个进程使用
只有当文件流在开启的情况下才能对文件进行数据处理
[3. FileAccess:声明这个路径中文件的访问方式
- Read:这个文件流是只读方式
- Write:这个文件流是只写方式
- ReadWrite:这个文件流支持读取和写入方式
[4.Fileshare:共享权限创建Filestream类的新实例
(2).StreamReader类
StreamReader类继承自抽象基类TextReader,表示阅读器读取一系列字符。 下表列出了 StreamReader 类中一些常用的方法
(3).StreamWriter类
StreamWriter 类继承自抽象类 TextWriter,表示编写器写入一系列字符
(4).DirectoryInfo 类(非静态类)
DirectoryInfo类派生自FileSystemInfo类。它提供了各种用于创建、移动、浏览目录和子目录的方法。该类不能被继承。
(5)FileInfo类(非静态类)
FileInfo类派生自FileSystemInfo类。它提供了用于创建、复制、删除、移动、打开文件的属性和方法,且有助于
FileStream对象的创建。该类不能被继承。
(6)File类(静态类)
主要是来提供一些函数库用的。静态实用类,提供了很多静态的方法,支持对文件的基本操作,包括创建,拷贝,移动,删除和打开一个文件。
(7)Directory类(静态类)
Directory类提供了在目录和子目录中进行创建移动和列举操作的静态方法。此外,你还可以访问和操作各种各样的目录属 性,例如创建或最后一次修改时间以及Windows访问控制列表等。
(8)Path类(静态类)
Path类主要用于对路径字符串进行操作,而对于文件文件夹不造成任何影响,并且提供了对路径操作的常用方法