代码改变世界

[原创]文件管理

2007-07-27 17:03  Virus-BeautyCode  阅读(375)  评论(1编辑  收藏  举报

文件系统相关的类都在System.IO命名空间中,而注册表操作由System.Win32命名空间中的两个类来执行。

FileSystemInfo               表示任何文件系统对象的基类
FileInfo And File            表示任何文件系统上的文件
DirectoryInfo And Directory  表示文件系统上的文件夹
Path                         这个类包含的静态成员可以用于处理路径名

//摘抄自http://www.online-book.cn

● Directory 和 File只包含静态方法,且从来不能被实例化。只要调用一个成员方法,提供合适文件系统对象的路径,就可以使用这些类。如果只对文件夹或文件执行一个操作,使用这些类就很有效,因为这样可以省去实例化.NET类的系统开销。

● DirectoryInfo和FileInfo执行与Directory和File大致相同的公共方法,并拥有一些公共属性和构造函数,但它们都是有状态的,并且这些类的成员都不是静态的。需要实例化这些类,把每个实例与特定的文件夹或文件关联起来。如果使用同一个对象执行多个操作,使用这些类就比较有效,因为在构造时它们将读取合适文件系统对象的身份认证和其他信息,无论对每个对象(类实例)调用了多少方法,都不需要再次读取这些信息。比较而言,在调用每个方法时,相应的无状态类需要再次检查一下文件或文件夹的内容。

//摘抄结束


我们不可以实例化Path,他有一些静态方法可是使用。

读写文件可以使用FileStream, StreamReader, StreamWriter

注册表的库和.NET库一样复杂,它包括访问注册表的类。其中有两个类涉及到注册表,即Registry 和RegistryKey,这两个类都在Microsoft.Win32命名空间中。

Registry是不能实例化的,他的作用只是提供表示顶级键的RegistryKey实例。是通过静态属性来提供这些实例的。