在网上看了相关资料后对文件操作类进行一个总结,加强自己的认识。
File和FileInfo两个功能基本相同,他们都是基于System.IO命名空间的文件操作类。
File:是一个静态类,通过类名直接调用,不需要实例化。
File类对应整个文件系统进行操作,如果只是对文件进行少量的操作,如判断文件是否存在之类或者对很多的文件进行操作,建议使用File类。
FileInfo:FileInfo需要实例化对象后才可以调用相关方法。它对应某一个文件进行操作,它的操作有可能是调用的File中的对应静态方法。如果是对一个文件进行大量的操作,建议使用FileInfo类。
优缺点:每次通过File类调用某个方法时们都要占用一定CPU处理时间来进行检查,即使是不同的File方法重复访问同一个文件的时候也是需要检查,FileInfo就比较简单了,他只需要在创建对象的时候执行一次安全检查。有很多时候不需要生成一个FileInfo对象那么麻烦。比如单纯的执行一个copy的功能这个时候就可以直接使用File类。如果使用FileInfo还需要进行实例化和调用方法。
什么时候使用File类或者FileInfo呢?
如果应用程序在文件上需要执行多次操作时候,选择FileInfo比较好一点,因为一但创建了对象,就已经进行了安全监测,不需要像File那样进行多次检测,从而节省时间;如果执行一些单一的调用方法,就建议使用File类了,因为可以不用实例化。
FileInfo的常用字段
常用字段 | Name | Directory | Exists | Extension | Length | IsReadOnly |
作用介绍 | 提取文件名 | 所属目录 | 是否存在(继承自父类FileSystemInfo) | 文件扩展名 | 文件长度 | 是否为只读 |
常用方法 | Open() | Create() | CopyTo() | Delete() | MoveTo() | Replace() | EnCrypt() | Decrypt() |
方法介绍 | 打开文件 | 创建文件 | 复制到新文件 | 删除文件 | 移动文件 | 替换文件 | 加密文件 | 解密文件 |
这是自己做的总结,希望各位多提宝贵意见。