基本文件I/O

.NET框架的System.IO命名空间中提供了大量对文件和目录操作非常有用的类。System.IO命名空间中的类使得托管应用程序能够执行文件I/O操作和其他形式的输入输出。托管I/O的基本生成块是流,它是面向字节数据的抽象表示。流是由System.IO.Stream类表示的。因为Stream是抽象的,因此和其他命名空间一样,System.IO也包含了由Stream类派生出的描述物理数据源的具体的类。例如,System.IO.FileStream允许以流的方式访问文件;System.IO.MemoryStream也可以以相同方式访问内存块。

Stream类中有可以用于执行输入和输出的方法,但.NET框架以Reader和Writer的形式提供了一种附加的抽象级别。BinaryReader和BinaryWriter类为在流对象上执行二进制读/写提供了一个简单易用的接口。派生自抽象的TextReader和TextWriter类的StreamReader和StreamWriter支持对文本的读写。

文件I/O是在托管和非托管应用程序中以类似的方式调用和执行的常见的I/O形式之一。在托管应用程序中读写文件的一般过程如下:

(1)使用FileStream对象打开文件。

(2)对于二进制读/写,用BinaryReader和BinaryWriter的实例包装FileStream对象,并调用BinaryReader和BinaryWriter的方法(例如Read和Write)来执行输入和输出。

(3)对于文本的读/写,用StreamReader和StreamWriter实例包装FileStream对象,并使用StreamReader和StreamWriter的方法(例如ReadLine和WriteLine)来执行输入和输出。

(4)关闭FileStream对象。

【提示】Internet和Intranet的默认安全策略不允许对文件的访问,因此如果编写可以从Internet上下载的代码时,就不要使用常规的、非独立存储的I/O类,而要使用独立存储的类。此外,当一个文件或网络流被打开时,只有在流被构建时才需要执行安全检查,因此将这些流分发给可信度较低的代码或应用程序域时需要特别小心。

posted @ 2010-04-03 22:16  逆时针  阅读(277)  评论(0编辑  收藏  举报