我在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:无法复制文件/目录。我很烦人,因为我无法看到使用目标路径(包括子文件夹)的任何真正区别......据我所知它应该有效......但它并没有。
有谁能看到我在这里失踪的东西?
感谢您的帮助!
答案 0 :(得分:0)
正如BugFinder所说,检查一下目录是否存在,Unity文档也说'#34;所有文件分隔符都应该是前向文件" /"。"所以你可能想尝试更改你的sourcePath。 另外,您可以将字符串声明为:
string sourcePath= @"/SomeFolder/SomeSubfolder/SomeFile.png";
string targetCachePath = @"d:/SomeOtherFolder/SomeSubfolder/SomeFile.png";
FileUtil.CopyFileOrDirectory(sourcePath, targetCachePath );
值前面的@将字符串标记为逐字字符串文字 - 字符串中通常被解释为转义序列的任何内容都将被忽略。
祝你好运!