我不确定为什么在成功压缩文件夹内容后发生此异常。这应该是对的吗?
错误:mscorlib.dll中出现未处理的“System.IO.IOException”类型异常 附加信息:进程无法访问文件'c:\ Temp \ pack.zip',因为它正由另一个进程使用。
private static string directoryPath = @"c:\Temp\";
static void Main(string[] args)
{
zipFolder(directoryPath, directoryPath+@"pack.zip");
}
public static void zipFolder(string targetPath, string resultPath)
{
ZipFile.CreateFromDirectory(targetPath, resultPath,CompressionLevel.Optimal,true);
}
答案 0 :(得分:1)
您在代码中所做的是在尝试在相同目录中创建zip文件时阅读C:\ Temp的内容。
而是在app目录中创建一个文件,稍后将文件复制到Temp文件夹。
var newFilePath = Path.Combine(directoryPath, "pack.zip");
if(File.Exists(newFilePath))File.Delete(newFilePath); //Remove file if it exists
if (File.Exists("pack.zip")) File.Delete("pack.zip"); //Remove file if it exists
zipFolder(directoryPath, "pack.zip");
File.Move("pack.zip", newFilePath);