我现在为此苦苦挣扎了一段时间。调用 File.Copy 方法后,我无法访问文件。这是我尝试过的:
File.Copy(sourceFile, destinationFile, true);
FileStream fs = File.Open(destinationFile, FileMode.Open);
我在第二行收到 UnauthorizedAccessException 。它说:访问路径...被拒绝。我也尝试过这里提出的建议,但没有奏效。
任何帮助表示赞赏。
编辑:这是我发现的。如果我这样做:
File.Copy(sourceFile, destinationFile, true);
FileStream fs = File.Open(destinationFile, FileMode.Open, FileAccess.Read);
它不会抛出异常。我试图访问的文件是只读的。所以,我试图像这样删除只读属性:
File.Copy(sourceFile, destinationFile, true);
FileInfo fileInfo = new FileInfo(destinationFile);
fileInfo.IsReadOnly = false;
FileStream fs = File.Open(destinationFile, FileMode.Open, FileAccess.ReadWrite);
我得到了和以前一样的例外。顺便说一句,我检查了我是否可以手动打开文件并编辑它,我可以。当然,当我取消选中只读复选框时。在调试时,我还在 Windows 资源管理器中检查了文件属性,就在第三行之后,该文件不再是只读的。检查完所有内容后,我不明白为什么在第四行抛出异常。