[英]How to handle empty zip files with C# ZipFile
我在C#中有一个程序,可使用ZipFile解压缩文件。 它通常可以正常工作,但是如果zip文件为空,则失败。
编码:
System.IO.Compression.ZipFile.ExtractToDirectory(fileName, dirName);
有没有一种方法可以检测该zip文件是否为空并将其删除? (如果文件失败并且不为空,我不想删除该文件。)
您可以尝试以下方法:
if (!string.IsNullOrEmpty(dirName) && Directory.Exists(dirName))
{
try
{
System.IO.Compression.ZipFile.ExtractToDirectory(fileName, dirName);
}
catch (ArgumentException ex)
{
// file is empty (as we already checked for directory)
File.Delete(fileName);
}
// OR
if (new FileInfo(fileName).Length == 0)
{
// empty
File.Delete(fileName);
}
else
{
System.IO.Compression.ZipFile.ExtractToDirectory(fileName, dirName);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.