将资源文件复制到 Windows 目录
Copy Resource File to Windows dir
我想将资源文件复制到另一个文件夹。
System.IO.File.Copy(@"Resources\empty.jpg", destFile);
以为这可能就这么简单。
但它抛出一个错误,如:“找不到部分路径 Resources\empty.jpg。
这里有什么帮助吗?
答案在这里https://msdn.microsoft.com/en-us/library/cc148994.aspx。看起来您需要在源文件夹名称和可能的目标文件夹名称前加上一个驱动器号。
string fileName = "test237.txt";
string sourcePath = @"C:\temp";
string targetPath = @"C:\temp2";
string sourceFile = System.IO.Path.Combine(sourcePath, fileName);
string destFile = System.IO.Path.Combine(targetPath, fileName);
System.IO.File.Copy(sourceFile, destFile, true);
您需要了解与您当前所处位置相关的 file/folder。正如弗朗西斯在上面的评论中所说,默认情况下,在 VS 中,您将位于调试文件夹中。如果 Resources 不在 C: 的根目录下,您需要首先以某种方式让自己进入 C: 的根目录,或者直接引用 C:,或者使用 ..\ 逐个父文件夹向上移动。
如果它是您所在位置的子目录,则当文件存在时,您上面显示的内容确实可以正常工作。我自己尝试过,这意味着您不太可能引用 project\bin\debug 路径中存在的路径。
如果是项目外的文件夹,那么你需要先到项目文件夹本身,即"..\..\Resources\empty.jog"
。
我想将资源文件复制到另一个文件夹。
System.IO.File.Copy(@"Resources\empty.jpg", destFile);
以为这可能就这么简单。 但它抛出一个错误,如:“找不到部分路径 Resources\empty.jpg。
这里有什么帮助吗?
答案在这里https://msdn.microsoft.com/en-us/library/cc148994.aspx。看起来您需要在源文件夹名称和可能的目标文件夹名称前加上一个驱动器号。
string fileName = "test237.txt";
string sourcePath = @"C:\temp";
string targetPath = @"C:\temp2";
string sourceFile = System.IO.Path.Combine(sourcePath, fileName);
string destFile = System.IO.Path.Combine(targetPath, fileName);
System.IO.File.Copy(sourceFile, destFile, true);
您需要了解与您当前所处位置相关的 file/folder。正如弗朗西斯在上面的评论中所说,默认情况下,在 VS 中,您将位于调试文件夹中。如果 Resources 不在 C: 的根目录下,您需要首先以某种方式让自己进入 C: 的根目录,或者直接引用 C:,或者使用 ..\ 逐个父文件夹向上移动。
如果它是您所在位置的子目录,则当文件存在时,您上面显示的内容确实可以正常工作。我自己尝试过,这意味着您不太可能引用 project\bin\debug 路径中存在的路径。
如果是项目外的文件夹,那么你需要先到项目文件夹本身,即"..\..\Resources\empty.jog"
。