Unity---Directory目录的删除、存在、创建操作

使用Directory类要引入命名空间 using  System.IO;

Directory类下的三个静态方法。

 

public static void CreateDirectory(string path);

 

public static void Delete(string path);

public static void Delete(string path, bool recusive);

 

public static bool Exists(string path);

string path = "Directory1";            //默认在工程目录下创建
if (Directory.Exists(path) == false)   
{
    Directory.CreateDirectory(path);   //只有当文件不存在的话,创建新文件
}

Directory.Delete(path);           //这种删除如果当目录内的内容不为空时会报错
Directory.Delete(path,true);      //第二个参数代表如果内容不为空是否也要删除,这样就不会报错了

  

转载于:https://www.cnblogs.com/Fflyqaq/p/10617643.html

### 使用 `Directory` 类进行文件夹操作Unity 中,`System.IO.Directory` 提供了一系列静态方法来处理文件夹的相关操作。这些方法允许开发者轻松地创建删除以及检查文件夹的存在状态。 #### 创建文件夹 当需要在一个特定路径下创建新文件夹时,可以先通过 `Directory.Exists()` 方法验证该位置是否已有同名文件夹存在。如果没有,则调用 `Directory.CreateDirectory()` 来新建目标文件夹[^1]: ```csharp if (!Directory.Exists(Application.dataPath + "/NewFolder")) { Directory.CreateDirectory(Application.dataPath + "/NewFolder"); } ``` 此代码片段展示了如何安全地确保某个目录仅在其不存在的情况下才被创建。 #### 删除文件夹及其内容 为了彻底移除一个文件夹连同其内部的所有子项(包括其他文件夹和文件),应当使用带有布尔参数的重载版本 `Directory.Delete(string, bool)` 函数,并设置第二个参数为 `true` 表示递归删除模式。另外需要注意的是,在某些情况下可能还需要手动清除 `.meta` 文件以防止留下空壳文件夹[^4]: ```csharp string folderToDelete = Application.dataPath + "/OldFolder"; if (Directory.Exists(folderToDelete)) { Directory.Delete(folderToDelete, true); File.Delete(folderToDelete + ".meta"); // 清理 .meta 文件 } AssetDatabase.Refresh(); ``` 这段脚本不仅能够有效地清理指定的文件夹结构,还能刷新资产数据库使更改生效。 #### 移动文件至另一文件夹内 如果希望把单个文件转移到另一个已存在的文件夹里去,应该利用 `FileInfo.MoveTo()` 方法完成迁移工作。不过在此之前同样得确认目的地址确实可用[^2]: ```csharp // 假设 sourceFilePath 和 destinationFolderPath 已经定义好 var fileInfo = new FileInfo(sourceFilePath); if (!Directory.Exists(destinationFolderPath)) { Directory.CreateDirectory(destinationFolderPath); } fileInfo.MoveTo(Path.Combine(destinationFolderPath, fileInfo.Name)); ``` 上述例子说明了怎样将源文件迁移到新的目的地之前做好必要的准备工作——即保证接收方容器已经准备就绪。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值