I/O库的基本架构
在.Net中,I/O库被存放在mscorlib.dll文件中,命名空间是System.IO。其包含五个基本的抽象类:
Stream:负责对I/O进行流操作,它也是.Net I/O的核心类。基本上所有的I/O操作都离不开它。
TextReader和TextWriter:提供对字符文本操作的抽象类。
FileSystemInfo:它主要负责对文件信息的管理,这不仅仅是Windows操作系统中一般意义上的文件信息,这还包括目录等。这进一步增强了对文件信息的操作。
IOException:这是I/O库中对I/O异常进行处理的类。
IO框架中基本的继承关系
a)、文件操作流类Stream:
继承图:Stream
FileStream(一般文件流)
BufferedStream(带缓存的文件流,本人强烈建议使用。)
MemoryStream(对一块内存区域进行托管流的操作)
UnmanagedMemoryStream(对一块内存区域进行非托管流的操作)
b)、文本类TextReader和TextWriter:
继承图:TextReader
StreamReader(文本文件流读操作类)
StringReader(对String类型以文件的方式进行读操作的类)
TextWriter
StreamWriter(文本文件流写操作类)
StringWriter(对StringBuilder类型以文件的方式进行写操作的类)
c)、异常类IOException:
继承图:IOException
DirectoryNotFoundException(文件夹未找到异常)
DriveNotFoundException(驱动器未找到异常)
EndOfStreamException(流结束异常)
FileLoadException(文件加载异常)
FileNotFoundException(文件未找到异常)
PathTooLongException(路径太长异常)
d)、文件信息类FileSystemInfo:
继承图:FileSystemInfo
FileInfo(文件信息类)
DirectoryInfo(目录信息类)
e)、其它类:
下面这几个类均是直接继承自System.Object
BinaryReader和BinaryWriter,这是一个对文件流(Stream)进行二进制操作的类。它直接继承至Object类,但使用时必须使用流打开文件。
File类,对文件进行操作的类,它提供了大量有用的静态方法,这是一个方法类。
Directory类,对目录进行操作的类,包括取得目录下文件,新建目录、删除目录等等。
Path类,对路径进行操作。
DriveInfo类,这个类虽然以Info命名,但并非从FileSystemInfo中继承而来。这个类也是一个Windows特色类。若使用Mono开发在Linux平台上运行的.Net程序,其就失去了意义。它的主要功能是:取得驱动器的大小、可用空间、卷标、格式等等。