繁体   English   中英

如何使用C#ZipFile处理空的zip文件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM