Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说用于访问文件系统的类,希望能够帮助你!!!。
一 . 用于访问文件系统的类 :
- File 静态实用类,提供许多静态方法, 用于移动,复制和删除文件
- Directory 静态实用类,提供许多静态方法, 用于移动,复制和删除目录
- Path 实用类,用于处理路径名称
- FileInfo 表示磁盘上的物理文件 , 该类包含处理此文件的方法. 要完成对文件的读写工作 , 就必须创建 Stream 对象
- DirectoryInfo 表示磁盘上的物理目录 , 该类包含处理此目录的方法
- FileSystemInfo 用作 FileInfo 和 DirectoryInfo 的基类 , 可以使用多态性同时处理文件和目录
- FileSystemWatcher 用于监控文件和目录 , 提供了这些文件和目录发生变化时应用程序可以捕获的事件
二 . File 类和 Directory 类
File类的常用静态方法 :
- Copy() 将文件从源位置复制到目标位置
- Create() 在指定的路径上创建文件
- Delete() 删除文件
- Open() 返回指定路径上的 FileStream 对象
- Move() 将指定的文件移动到新位置 , 可在新位置为文件指定不 同的名称
Directory 类的常用静态方法 :
- CreateDirectory() 创建具有指定路径的目录
- Delete() 删除指定目录及其中的文件
- GetDirectories() 返回表示指定目录下的目录名的string对象数组
- GetFiles() 返回在指定目录中的文件名的string对象数组
- GetFileSystemEntries() 返回指定目录中的文件和目录名的string对象数组
- Move() 将制定目录移到新位置 , 可在新位置为文件指定一个新名称
三 . FileInfo 类
实例化之后才能使用 , 表示磁盘或者网络位置是上的文件, 需要提供文件的路径
string path = "Assets/Config/Test.txt";
FileInfo fileInfo = new FileInfo(path);
File 和 FileInfo 的区别 :
FileInfo fileInfo = new FileInfo(path);
if(fileInfo.Exists(path)) Debug.Log("fileInfo 判断存在这个文件") ; // 用FileInfo 判断文件是否存在
if(File.Exists(path)) Debug.Log("File 判断存在这个文件"); // 用File判断文件是否存在
注 : 单一方法调用 , 使用File比较好 , 不必实例化对象,再调用方法 ;
如果应用程序在文件上执行几种操作 , 用FileInfo 比较好 , 这样比较节省时间 , File类每次都去寻找文件
因为FileInfo 和 DirectoryInfo 都继承于 FileSystemInfo , 所以我们先来看一下FileSystemInfo的属性
FileSystemInfo 类的常用属性 :
- Attributes 使用FileAttributes枚举 , 获取或者设置当前文件或目录的特性
- CreationTime 获取当前文件的创建日期和时间,可使用UTC和非UTC版本
- Extension 提取文件的扩展名,ReadOnly
- Exists 确定文件是否存在 , 只读抽象属性,在FileInfo和DirectoryInfo里重写
- FullName 检索文件的完整路径 , 只读
- LastAccessTime 获取或者设置上次访问当前文件文件的日期和时间 , 可使用UTC和非UTC版本
- LastWriteTime 获取或者设置上次写入当前文件的日期和时间
- Name 检索文件的完整路径 , 只读抽象属性 , 在FileInfo和DirectoryInfo里重写
FileInfo 类的专用属性 :
- Directory 检索一个DirectoyInfo对象 , 表示包含当前文件的目录,这个属性是只读的
- DirectoryName 返回文件目录的路径 , 只读
- IsReadOnly 文件只读特性的快捷方式 , 也可以通过 Attributes 来访问这个属性
- Length 获取文件的大小(字节为单位),返回 long 值 , 只读
四 . DirectoryInfo 类
实例化之后才能使用 , 表示计算机上的单一目录, 需要提供目录的路径
注 : 单一方法调用 , 使用 Directory 比较好 , 不必实例化对象,再调用方法 ;
如果应用程序在文件上执行几种操作 , 用 DirectoryInfo 比较好 , 这样比较节省时间 , Directory 类每次都去寻找目录
DirectoryInfo 类的专用属性 :
- Parent 检索一个 DirectoryInfo 对象 , 表示包含当前目录的目录 , 只读
- Root 检索一个 DirectoryInfo 对象 , 表示包含当前目录的根目录 , 只读
今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。