首頁>Program>source

如何在C#中列出壓縮檔案夹的內容? 例如,如何知道壓縮檔案夹中包含多少个專案,它们的名稱是什麼?

最新回復
  • 5月前
    1 #

    DotNetzip-.NET語言中的zip檔案操作

    DotNetzip是一个易於使用的小型類庫,用於處理.zip檔案.它可以使以VB.NET,C#和任何.NET語言編寫的.NET應用程式能够轻松建立,讀取和更新zip檔案。

    阅讀郵政編碼的示例代碼:

    using (var zip = ZipFile.Read(PathToZipFolder))
    {
        int totalEntries = zip.Entries.Count; 
        foreach (ZipEntry e in zip.Entries)
        {
            e.FileName ...
            e.CompressedSize ...
            e.LastModified...
        }
    }
    

  • 5月前
    2 #

    .NET 4.5或更高版本最终具有內建功能,可以使用 System.IO.Compression.ZipArchive處理通用zip檔案。 程式集System.IO.Compression中的類(http://msdn.microsoft.com/zh-cn/library/system.io.compression.ziparchive%28v=vs.110%29.aspx).不需要任何第三方庫。

    string zipPath = @"c:\example\start.zip";
    using (ZipArchive archive = ZipFile.OpenRead(zipPath))
    {
        foreach (ZipArchiveEntry entry in archive.Entries)
        {
            Console.WriteLine(entry.FullName);
        }
    }
    

  • 5月前
    3 #

    如果使用的是.Net Framework 3.0或更高版本,請簽出System.IO.Packaging命名空間.這將消除您對外部庫的依赖。

    具體檢查zipPackage類。

  • 5月前
    4 #

    簽入SharpzipLib

    ZipInputStream inStream = new ZipInputStream(File.OpenRead(fileName));
    while (inStream.GetNextEntry())
    {
         ZipEntry entry = inStream.GetNextEntry();
         //write out your entry's filename
    }
    

  • 5月前
    5 #

    Ick-使用J#執行時的代碼令人毛骨悚然! 而且我不同意這是最好的方法-J#現在不在支援範圍內.如果您只需要zIP支援,那就是一个巨大的執行時。

    如何處理-它使用DotNetzip(免费的MS-公共许可證)

    using (ZipFile zip = ZipFile.Read(zipfile) )
    {
        bool header = true;
        foreach (ZipEntry e in zip)
        {
            if (header)
            {
                System.Console.WriteLine("Zipfile: {0}", zip.Name);
                if ((zip.Comment != null) && (zip.Comment != ""))
                    System.Console.WriteLine("Comment: {0}", zip.Comment);
                System.Console.WriteLine("\n{1,-22} {2,9}  {3,5}   {4,9}  {5,3} {6,8} {0}",
                                         "Filename", "Modified", "Size", "Ratio", "Packed", "pw?", "CRC");
                System.Console.WriteLine(new System.String('-', 80));
                header = false;
            }
            System.Console.WriteLine("{1,-22} {2,9} {3,5:F0}%   {4,9}  {5,3} {6:X8} {0}",
                                     e.FileName,
                                     e.LastModified.ToString("yyyy-MM-dd HH:mm:ss"),
                                     e.UncompressedSize,
                                     e.CompressionRatio,
                                     e.CompressedSize,
                                     (e.UsesEncryption) ? "Y" : "N",
                                     e.Crc32);
            if ((e.Comment != null) && (e.Comment != ""))
                System.Console.WriteLine("  Comment: {0}", e.Comment);
        }
    }
    

  • ios:如何在Swift中获取2陣列的公共元素列表?
  • c#:有什麼方法可以處理ASMX服務背後的異步/等待吗?