Zip-konvertering via C#

omvandla ZIP till olika filarkivformat

Hur man konverterar Zip med C#

Konvertering av ZIP-filer med C# kan underlättas med Aspose.Zip för .NET, ett kraftigt API som förenklar processen. Biblioteket gör det möjligt för utvecklare att utföra olika operationer, inklusive extrahering och skapande av ZIP-filer, tillsammans med lösenordsskydd och anpassning av komprimeringsnivå. Genom att använda de relevanta metoderna från Aspose.Zip kan utvecklare enkelt hantera ZIP-filkonverteringar i många populära arkivfilformat såsom RAR , CPIO , CAB , TAR och andra.

Konvertering av ett arkiv till ett annat är i huvudsak en kombination av uppackning av det första och sammansättning av det andra. Du kan lagra tillfälliga extraherade data i RAM-minnet utan att spola dem till disken. Akta dig för minnesförbrukning och vet hur mycket minne du kan avsätta för att lagra dessa poster.

Utvecklarguide - Arkivkonvertering

Det medföljande kodavsnittet visar hur man konverterar ett RAR-arkiv till ett ZIP-format i C#. Den använder Aspose.Zip-biblioteket för att enkelt extrahera RAR-posterna och sedan skapa motsvarande poster i ZIP-arkivet.

Låt oss granska detta exempel steg för steg:

  1. Instantiate ZIP Archive förberedd för komprimering. Vi fyller den med poster i nästa steg.
  2. Instantiate Rar Archive förberedd för dekomprimering och tillhandahåller sökväg till arkivet.
  3. Extrahera varje post till tillfällig lagring.
  4. Skriv en zip-post från den lagringen. Om posten representerar en katalog använder vi bara dess sökväg.
  5. Spara arkivet till den angivna sökvägen.

Konvertera från RAR till ZIP

Det medföljande kodavsnittet visar hur man konverterar ett RAR-arkiv till ett ZIP-format i C#. Den använder Aspose.Zip-biblioteket för att enkelt extrahera RAR-posterna och sedan skapa motsvarande poster i ZIP-arkivet.

  using (Archive zip = new Archive())
  {
    using (RarArchive rar = new RarArchive("archive.rar"))
    {
      for (int i = 0; i < rar.Entries.Count; i++)
      {
        if (!rar.Entries[i].IsDirectory)
        {
          var ms = new MemoryStream();
          rar.Entries[i].Extract(ms);
          ms.Seek(0, SeekOrigin.Begin);
          zip.CreateEntry(rar.Entries[i].Name, ms);
        }
        else
          zip.CreateEntry(rar.Entries[i].Name + "/", Stream.Null);
      }
    }

    zip.Save("output.zip");
  }

Konvertera från ZIP till 7Z

Kodavsnittet visar konverteringen av ett ZIP-arkiv till ett 7Z-format via C#. Med SevenZipArchive-biblioteket extraherar skriptet ZIP-posterna och skapar motsvarande poster i 7Z-arkivet.

Låt oss granska detta exempel steg-för-steg:

1. Instantisera 7z-arkivet. förberedd för komprimering. Vi kommer att fylla den med poster i nästa steg.
2. Instant ZIP-arkiv förberedd för dekompression, tillhandahåller sökväg till arkivet.
3. Extrahera varje post till tillfällig lagring.
4. Skriv en 7z-post från den lagringen.
5. Spara arkivet till den angivna sökvägen.

  using (SevenZipArchive sevenZipArchive =  new SevenZipArchive())
  {
    using (Archive archive = new Archive("source.zip"))
    {
      for (int i = 0; i < archive.Entries.Count; i++)
      {
        var ms = new MemoryStream();
        archive.Entries[i].Extract(ms);
        ms.Seek(0, SeekOrigin.Begin);
        sevenZipArchive.CreateEntry(archive.Entries[i].Name.Replace('\\', '/'), ms);
      }
    }

    sevenZipArchive.Save("output.7z");
  }

Konvertera från TAR.GZ-fil till ZIP

Här medföljande kodavsnitt demonstrerar konverteringen av en TAR.GZ (GZIP)-fil till ett ZIP-format via C#. Klassen TarArchive har bekväma metoder för att arbeta med komprimerade tarball-arkiv, särskilt gzipped, skriptet extraherar poster från TAR.GZ-filen och skapar motsvarande poster i ZIP-arkivet.

using (Archive zip = new Archive())
{
  using (TarArchive archive = TarArchive.FromGZip("source.tar.gz"))
  {
  for (int i = 0; i < archive.Entries.Count; i++)
  {
    var ms = new MemoryStream();
    archive.Entries[i].Extract(ms);
    ms.Seek(0, SeekOrigin.Begin);
    zip.CreateEntry(archive.Entries[i].Name, ms);
    }
  }
  zip.Save("output.zip");
}

Konverteringsfunktioner i dokumentationen

Aspose.Zip .NET API är känt för sin robusta förmåga att hantera komplexa arkivkonverteringar, vilket möjliggör sömlös transformation mellan olika arkivformat med yttersta effektivitet och tillförlitlighet. Med möjligheten att konvertera ZIP-filer till andra populära arkivformat och vice versa, kan utvecklare säkerställa dataintegritet och optimal prestanda över olika plattformar och applikationer. Denna viktiga konverteringsfunktion förenklar processen för dataöverföring, lagring och delning, vilket möjliggör smidig kompatibilitet med olika mjukvarumiljöer. Genom att utnyttja Aspose.Zip .NET API kan användare enkelt manipulera arkivfiler och underlätta sömlös integration med sina önskade applikationer, vilket förbättrar deras produktivitet och arbetsflödeseffektivitet. Namnutrymmet ZIP innehåller klasser som representerar zip-arkiv och vanliga arkivrelaterade enheter.

Installerar Aspose.Zip för .NET-biblioteket

Om du har använt MSI-installeraren för att distribuera Aspose.ZIP, följ dessa steg för att helt ta bort komponenten och tillhörande demonstrationer och dokumentation:

  1. Från Start-menyn, välj Inställningar följt av Kontrollpanelen.
  2. Klicka på Lägg till/ta bort program.
  3. Välj Aspose.ZIP.
  4. Klicka på knappen Ändra/Ta bort för att ta bort Aspose.ZIP.
    För mer information om C#-biblioteksinstallation, se Aspose.ZIP-dokumentation .

Andra arkivfilskonverteringar som stöds

Du kan också konvertera CAB, RAR, TAR, CPIO, TAR.BZ2, TAR.GZ, TAR.LZ, TAR.XZ, TAR.Z-filer till många andra filformat, inklusive några som anges nedan: