【发布时间】:2016-08-04 12:09:41
【问题描述】:
实际上我正在尝试创建一个目录的 zip 文件,但 ZipFile.CreateFromDirectory() 给出了以下异常。
System.IO.IOException : 进程无法访问文件 PATH_TO_CREATE_ZIP/file.zip' 因为它正在被另一个人使用 过程。
以下是它的代码片段。 :
public void createZipFile(string zipPath, string archiveFileName)
{
string DirectoryToBeArchive = zipPath + "\\" + archiveFileName;
if (Directory.Exists(DirectoryToBeArchive + ".zip"))
{
File.Delete(DirectoryToBeArchive);
ZipFile.CreateFromDirectory(zipPath, DirectoryToBeArchive + ".zip", CompressionLevel.Fastest, false);
}
else
ZipFile.CreateFromDirectory(zipPath, DirectoryToBeArchive + ".zip", CompressionLevel.Fastest, false);
Directory.Delete(DirectoryToBeArchive);
}
非常感谢您的帮助。提前致谢。 :)
【问题讨论】:
-
看看
Path.Combine和Path.ChangeExtension -
您正在尝试归档一个目录并将 zip 文件放在您正在归档的同一目录中。当然你会得到这个错误,将zip文件的路径更改为另一个目录
-
实际上我正在尝试存档一个目录并将其放在其直接父目录中。 E-G : Path : DirA / DirB / DirC : 我想压缩 DirC 并将其放在 DirB 中。这就是我想要实现的目标。
-
我的代码虽然压缩文件并将其放在正确的目录中,但它也给了我例外。
标签: c# directory ioexception zipfile