FileStream类是专门进行文件操作的Stream,能够同时支持同步读写操作和异步读写操作。FileStream类的特点是具体操作字节和字节数组,对随机文件的操作比较有效。
FileStream类能够对文件实现低级而复杂的操作,其主要属性的信息如表14-12所示。
表14-12 FileStream类属性信息
(续)
FileStream类的主要方法信息如表14-13所示。
表14-13 FileStream类方法信息
FileStream类能够对文件实现各种常规操作,例如数据流的输入和输出。也能够缓冲输入和输出,从而提高了程序的性能。
FileStream类的对象可以使用Seek()方法来随机访问文件,在创建FileStream对象时需要指定如下四种信息。
1)文件名,用于设置要打开文件的路径。
2)打开模式,用于设置是否对文件执行改写、创建和打开等操作,或上述操作的集合。打开模式是由枚举FileMode来定义的。
3)访问模式,用于设置对文件的读写访问或读写访问的常数,是由枚举FileAccess来定义的。
4)共享模式,用于设置对文件操作的共享性,是由枚举FileShare来定义的。
FileMode枚举中的主要成员的信息如下。
1)Append,用于打开现有文件并查找到文件尾,或创建新的文件。FileMode.Append只能和FileAccess.Write一起使用。
2)Create,用于指定操作系统应该创建新文件。如果文件已经存在,则重写这个文件。如果文件不存在则使用CreateNew,如果存在则使用Truncate。
3)CreateNew,用于指定操作系统应该创建新文件。
4)Open,用于指定操作系统应打开此文件,如果该文件不存在则会引发异常。
5)OpenOrCreate,用于指定操作系统应打开此文件,如果不存在则创建此文件。
6)Truncate,用于指定操作系统应打开此文件,文件被打开后将被截断为0字节大小。
枚举FileAccess中的主要成员信息如下。
1)Read,用于对文件进行读取访问。
2)ReadWrite,用于对文件进行读写访问。
3)Write,用于对文件进行写访问。(www.xing528.com)
下面将通过一个具体的实例来说明通过FileStream类实现读写处理的具体流程。
实例65:使用FileStream创建指定目录的文件
本实例保存在“光盘:\daima\14”文件夹内,项目名为useFileStream。实例文件的功能是使用FileStream创建指定目录的文件。实例文件CodeFile1.cs的主要代码如下:
上述实例代码的设计流程如下。
1)分别定义byte类型数组m_bDatawrite和char类型数组nn。
2)定义FileStream实例mm,用于设置新建的文件。
3)将写入文本的“你好呀”转换为字符数组。
4)对写入的文件流进行处理。
5)通过catch进行一场处理,如果成功则输出“成功”;如果出现异常则输出“出错”。
执行后将创建文件“E:\file.txt”,如图14-7所示。
图14-7 实例执行结果
多学一招
使用FileStream类可以实现对指定文件内容的读取。例如下面的代码:
上述代码的设计流程如下。
1)分别定义byte类型数组mm和char类型数组nn,用于数据转换。
2)定义FileStream实例mm,用于设置被读取的文件名。
3)通过catch语句进行异常判断,如果有异常则输出对应提示。
4)定义Decoder实例tt,用于获取文件内容流。
5)读取成功并输出提示。
上述代码保存在“光盘:\daima\18\duqu”,执行后如果不存在文件“C:\111.txt”,则输出对应的提示。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。