我有一个C#程序,可使用ZipFile解压缩文件。它通常可以正常工作,但是如果zip文件为空,则会失败。
代码:
System.IO.Compression.ZipFile.ExtractToDirectory(fileName, dirName);
是否可以检测zip文件是否为空并将其删除? (如果文件失败并且不为空,我不想删除该文件。)
答案 0 :(得分:1)
您可以尝试以下方法:
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);
}
}