UD4L4——文件夹相关
UD4L4——文件夹相关
本章代码关键字
1 | Directory //文件夹操作类 |
文件夹操作是什么
平时我们可以在操作系统的文件管理系统中,通过一些操作增删查改文件夹
我们目前要学习的就是通过代码的形式,来对文件夹进行增删查改的操作
Directory
提供给我们了常用的文件夹相关操作的API,只需要熟练使用它即可
DirectoryInfo
和FileInfo
一般在多文件夹和多文件操作时会用到,了解即可
目前用的相对较少 他们的用法和Directory
和File
类的用法大同小异
文件夹操作公共类
类名:Directory
命名空间:System.IO
-
判断文件夹是否存在
参数:文件夹路径
返回值:该文件夹是否存在1
2
3
4
5
6
7
8if (Directory.Exists(Application.dataPath + "/数据持久化四"))
{
print("存在文件夹");
}
else
{
print("文件夹不存在");
} -
创建文件夹
参数:要创建的文件夹的路径
返回值:DirectoryInfo
目录信息类对象,具体内容在下面如果文件夹已存在,就不会创建文件夹,直接返回
DirectoryInfo
目录信息类对象1
Directory.CreateDirectory(Application.dataPath + "/数据持久化四");
-
删除文件夹(值得一提的是,在某些情况下,例如Unity文件夹下存在该文件夹对应的.meta文件,这时使用该命令删除文件夹,在Unity刷新过后,这个拥有.meta文件的对应的文件夹会被Unity自动重新创建,导致出现文件夹没有被删除的假象。实际上该文件夹已经被删除,只是被Unity自己重新创建了而已,如果在刷新前删除.meta文件,或者进行某些设置,这个文件夹就无法被Unity自动重新创建)
参数一:路径
参数二:是否删除非空目录,如果为true
,将删除整个目录,如果是false
,仅当该目录为空时才可删除,默认为false
如果参数二是false
且文件夹非空,会报错1
Directory.Delete(Application.dataPath + "/数据持久化四", true);
-
查找文件夹和文件
-
得到指定路径下所有文件夹名(该路径下的所有子文件夹)
1
2
3
4
5string[] paths = Directory.GetDirectories(Application.dataPath);
foreach (string path in paths)
{
print(path);
} -
得到指定路径下所有文件名(该路径指示的文件夹内的文件名)
1
2
3
4
5string[] fileNames = Directory.GetFiles(Application.dataPath);
foreach (string fileName in fileNames)
{
print(fileName);
}
-
-
文件夹所有内容移动到新文件夹
移动会把源文件夹中的所有内容一起移到新的路径,且不保留源文件夹
参数一:要移动内容的文件夹
参数二:要移动到的新文件夹如果第二个参数所在的路径 已经存在了一个文件夹 那么会报错
1
Directory.Move(Application.dataPath + "/数据持久化四", Application.dataPath + "/123123123");
DirectoryInfo
DirectoryInfo
目录信息类,我们可以通过它获取文件夹的更多信息
它主要出现在两个地方
-
创建文件夹方法的返回值
1
DirectoryInfo directoryInfo = Directory.CreateDirectory(Application.dataPath + "/数据持久化123");
-
文件夹的全路径
1
print(directoryInfo.FullName);
-
文件夹自己的名字
1
print(directoryInfo.Name);
-
-
查找上级文件夹信息
1
DirectoryInfo directoryInfo = Directory.GetParent(Application.dataPath + "/数据持久化123");
-
文件夹的全路径
1
print(directoryInfo.FullName);
-
文件夹自己的名字
1
print(directoryInfo.Name);
-
得到所有子文件夹的目录信息(重要方法)
1 | DirectoryInfo[] directoryInfos = directoryInfo.GetDirectories(); |
FileInfo
文件信息类,我们可以通过DirectoryInfo
得到该文件下的所有文件信息
获取文件夹下所有的文件信息
1 | FileInfo[] fileInfos = directoryInfo.GetFiles(); |
文件的后缀名
1 | [ ] |
打开文件获取文件流
可以通过FileInfo
直接打开文件获取信息流
1 | [ ] |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 文KRIFE齐的博客!