Unity 3D FileUtil.copyFileOrDirectory恼人的异常

时间:2017-11-27 12:21:13

标签: c# unity3d

我在Unity 3d 2017.2.0f3中工作并且Ineed将一些文件从远程路径复制到我的本地计算机。到目前为止,我有这样的工作:

 string  sourcePath= "\\\\SomeFolder\\SomeSubfolder\\SomeFile.png";
 string targetCachePath = "d:/SomeOtherFolder/SomeFile.png";
 FileUtil.CopyFileOrDirectory(sourcePath, targetCachePath );

关键是我需要将文件复制到SomeOtherFolder的子文件夹中,所以我需要这样的东西:

string  sourcePath= "\\\\SomeFolder\\SomeSubfolder\\SomeFile.png";
string targetCachePath = "d:/SomeOtherFolder/SomeSubfolder/SomeFile.png";
FileUtil.CopyFileOrDirectory(sourcePath, targetCachePath );

但是只要我添加" SomeSubfolder" in targetCachePath CopyFileOrDirectory停止使用IOException:无法复制文件/目录。我很烦人,因为我无法看到使用目标路径(包括子文件夹)的任何真正区别......据我所知它应该有效......但它并没有。

有谁能看到我在这里失踪的东西?

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

正如BugFinder所说,检查一下目录是否存在,Unity文档也说'#34;所有文件分隔符都应该是前向文件" /"。"所以你可能想尝试更改你的sourcePath。 另外,您可以将字符串声明为:

string  sourcePath= @"/SomeFolder/SomeSubfolder/SomeFile.png";
string targetCachePath = @"d:/SomeOtherFolder/SomeSubfolder/SomeFile.png";
FileUtil.CopyFileOrDirectory(sourcePath, targetCachePath );

值前面的@将字符串标记为逐字字符串文字 - 字符串中通常被解释为转义序列的任何内容都将被忽略。

祝你好运!