C#中文件操作【File】和【Directory】

时间:2021-02-19 20:42:21
C#中文件操作【File】和【Directory】
主要类的介绍:

● File —— 静态实用类,提供许多静态方法,用于移动、复制和删除文件。

● Directory —— 静态实用类,提供许多静态方法,用于移动、复制和删除目录。

● Path —— 实用类,用于处理路径名称。

● FileInfo —— 表示磁盘上的物理文件,具有处理此文件的方法。要完成对文件的读写工作,就必须创建Stream对象。

● DirectoryInfo —— 表示磁盘上的物理目录,具有处理此目录的方法。

● FileStreamInfo —— 用作FileInfo和DirectoryInfo的基类,可以使用多态性同时处理文件和目录。

● FileStream —— 表示可写或可读,或二者均可的文件。此文件可以同步或异步地读写。

● StreamReader —— 从流中读取字符数据,可以使用FileStream创建为基类。

● StreamWriter —— 向流写入字符数据,可以使用FileStream创建为基类。

● FileSystemWatcher —— FileSystemWatcher是本章要介绍的*的类。它用于监控文件和目录,提供了这些文件和目录发生变化时应用程序可以捕获的事件。在Windows编程技术中缺乏此功能,但是现在.NET Framework很容易对文件系统事件作出响应。

本章还将介绍System.IO.Compression命名空间,它允许使用GZIP压缩或Deflate压缩模式读写压缩文件:

● DeflateStream —— 表示在写入时自动压缩数据或在读取时自动解压缩的流,压缩使用Deflate算法来实现。

● GZipStream —— 表示在写入时自动压缩数据或在读取时自动解压缩的流,压缩使用GZIP算法来实现。

最后,学习使用System.Runtime.Serialization命名空间及其子命名空间进行读写的串行化,主要介绍System.Runtime.Serialization.Formatters.Binary命名空间中的BinaryFormatter类,它允许把对象串行化为二进制数据流,并可以并行化这些数据。

File与FileInfo类的主要区别,
File类是静态的,FileInfo不是静态的也没有静态的方法,仅可用于实例化的对象。
FileInfo方法基本类似于File。关于二者,作何选择。
● 如果仅进行单一方法调用,则可以使用静态File类上的方法。在此,单一调用要快一些,因为.NET Framework不必实例化新对象,再调用方法。
● 如果应用程序在文件上执行几种操作,则实例化FileInfo对象并使用其方法就更好一些。这会节省时间,因为对象已在文件系统上引用正确的文件,而静态类必须每次都寻找文件。

而DirectoryInfo类与Directory区别,也FileInfo类似。
●如果进行单一调用,就使用静态Directory类。
●如果进行一系列调用,则使用实例化的DirectoryInfo。