unity中如何删除已经存在的文件

0 c# unity-game-engine

目前,我的程序在启动时创建了一个 XML 文件,我希望它在最后删除该文件,但我所做的任何操作都不会删除该文件。我一直在使用

File.Delete (Application.dataPath + "File.xml");
Run Code Online (Sandbox Code Playgroud)

然后刷新但文件没有删除。

有人有什么可以帮助我的吗?

Pro*_*mer 5

当您使用 删除编辑器中的文件时File.Delete,您必须调用AssetDatabase.Refresh()以导入任何更改的资源。这可能是问题所在。


如果您已经这样做了,但文件仍然存在,您可能删除了错误的文件。该Application.dataPath路径指向<ProjectName>/Assets目录,因此您的File.xml文件应该位于其中<ProjectName>/Assets才能进行删除。


最后,在编辑器中删除文件时,我建议您使用命名FileUtil.DeleteFileOrDirectory空间UnityEditor,而不是File.Delete使用AssetDatabase.Refresh(). 它是专门设计用于在编辑器中删除文件和目录的。

string path = System.IO.Path.Combine(Application.dataPath, "File.xml");
UnityEditor.FileUtil.DeleteFileOrDirectory(path);
AssetDatabase.Refresh();
Run Code Online (Sandbox Code Playgroud)