System.IO.File.Copy
失败。
复制到我收到错误:
拒绝访问路径
<destination>
。 (System.UnauthorizedAccessException的)
我有一个场景,我在修改模板文件之前将模板文件复制到目标路径,为了安全起见,我认为模板是只读的。
为什么我不能以这种方式复制只读文件,如何才能最轻松/最明智地实现我想要的?并且......当从未创建此文件时,为什么目标文件有例外?
注意:复制的文件是否是只读的我不在乎,这很容易解决
答案 0 :(得分:6)
您错误地诊断了这一点。文件复制永远不会失败,因为源是只读的。如果现有目标文件是只读的,则文件复制将失败。简单的补救措施是在复制之前清除目标文件上的只读属性。这里的答案解释了如何做到这一点:How to remove a single Attribute (e.g. ReadOnly) from a File?
最有可能发生的事情是:
答案 1 :(得分:2)
system.io.file.copy中没有任何内容阻止你处理只读文件,我想你的问题出在目的地。因为您的文件是只读的,所以会复制readonly属性。接下来,您尝试使用失败的readonly属性覆盖目标。在复制文件之前,请检查目标位置是否有文件。
拒绝访问该路径。 (System.UnauthorizedAccessException的)
表示您无权访问目标文件夹。你在应对c:\?确保用户具有在您的目标文件夹中写入的正确权限。