文件.副本访问被拒绝
本文关键字:拒绝 访问 副本 文件 | 更新日期: 2023-09-27 17:54:56
我有一个问题,从本地磁盘复制到闪存。代码之前可以工作,但在我创建另一个foreach循环之后,我必须创建新对象File。复制功能不再工作了。在值File | System.IO.File中有如下值:Error_Access_Denied | 5, Error_Invalid Parameter| 87, GetFileExInfoStandard | 0.
edit: locationUSB当前flash上的文件路径。(locationUSB == "D:'something.hex")和x._location == "C:'something_1. hex . "十六进制"。
foreach (object item in this.dataGridView2.Rows)
{
versionOnDisk = this.VersionInt(x._version);
versionOnFlash = this.VersionInt(((DataGridViewRow)item).Cells[2].Value.ToString());
if (versionOnFlash > versionOnDisk)
forbidCopying = true;
else
locationUSB = _logicalDrive + ((DataGridViewRow)item).Cells["Filename"].Value.ToString(); // <-- location value (because of the foreach)
if (!forbidCopying)
File.Copy(x._location, locationUSB, true); // <--
else if (AllowDelete.Checked)
File.Delete(locationUSB);
}
编辑:如果我将位置更改为逻辑驱动器路径,其值为"D:'",我得到未处理的DirectoryNotFoundException:无法找到路径'D:''的一部分。
很可能在创建新文件后,您没有关闭FileStream
。使用myFile.Close();
关闭新创建文件的FileStream
s或在using (var myFile = File.Create(myPath))
块中创建新文件