Create a Flat ZIP Archive in C#

Увод

Управљање ЗИП датотекама може бити изазовно, посебно када садрже нестерани архиви. Овај водич ће вас проћи кроз процес флатенирања ЗиП структура извлачењем свих унутрашњих ЗआईП архива у једну архиву користећи Аспосе.Зип за .НЕТ.

Zašto napraviti Flat ZIP?

Креирање равна ЗИП архива нуди неколико предности:

  • Поједноставља управљање ЗИП датотеком: Смањује сложеност приликом управљања више датова.
  • Екстрактира све уграђене ЦИП садржаје у један архив: Консолидира датотеке за лакши приступ.
  • Смањује редудантне структуре фасцикла: Покретање организације датотека.

Табела садржаја

1. подешавање обраде ЗИП архива у Ц#

Да би се ефикасно обрађивали нестерани ЗИП архиви, користићемо Aspose.ZIP за .NET. Ова моћна библиотека пружа:

  • Автоматски ЗИП екстракција и рекомпресија.
  • Подршка за више архивних формата: ЗИП, ТАР, ГЗИП и још много тога.
  • Ефикасна обрада великих архива.

Инсталација

Библиотеку можете лако инсталирати преко НуГет-а:

PM> Install-Package Aspose.Zip

Alternativno, možete preuzeti DLL sa Aspose Downloads Страница.

2. кораци за креирање Флас ЦИП архива

Узмите у обзир следећу насету ЗИП структуру:

parent.zip
 ├ first.txt
 ├ inner.zip
 │ ├ file1.exe
 │ └ data.bin
 └ picture.gif

Након флатентовања, сви унутрашњи ЗИП садржаји ће бити консолидирани у родитељски ЗИП:

flattened.zip
 ├ first.txt
 ├ picture.gif
 ├ file1.exe
 └ data.bin

Код примера

Ево како можете аутоматизовати екстракцију гнезданих ЗИП датотека:

// Load the parent ZIP file
using (Archive parentZip = new Archive("parent.zip"))
{
    List<ArchiveEntry> toDelete = new List<ArchiveEntry>();
    List<string> newEntryNames = new List<string>();
    List<MemoryStream> newStreams = new List<MemoryStream>();

    foreach (ArchiveEntry entry in parentZip.Entries)
    {
        if (entry.Name.EndsWith(".zip", StringComparison.OrdinalIgnoreCase))
        {
            toDelete.Add(entry);
            using (MemoryStream zipStream = new MemoryStream())
            {
                entry.Open().CopyTo(zipStream);
                zipStream.Position = 0;
                using (Archive innerZip = new Archive(zipStream))
                {
                    foreach (ArchiveEntry innerEntry in innerZip.Entries)
                    {
                        using (MemoryStream entryStream = new MemoryStream())
                        {
                            innerEntry.Open().CopyTo(entryStream);
                            newEntryNames.Add(innerEntry.Name);
                            newStreams.Add(entryStream);
                        }
                    }
                }
            }
        }
    }

    foreach (var entry in toDelete)
        parentZip.DeleteEntry(entry);

    for (int i = 0; i < newEntryNames.Count; i++)
        parentZip.CreateEntry(newEntryNames[i], newStreams[i]);

    parentZip.Save("flattened.zip");
}

Овај метод ефикасно автоматизује извлачење ЗИП датотеке, обезбеђујући глатко радно време са Ц# Архив функционалностима.

3. сачување Флатене ЗИП датотеке

Када сте извукли садржај ЗИП-а, сачувате датотеку ЗИП-а користећи следећу линију кода:

parentZip.Save("flattened.zip");

Ово вам омогућава да имате јединствену ЗИП архиву без гнезданих фасцикла, чинећи управљање датотекама много лакшим кроз Ц# Зип компресију технике.

Баццх обрада више ZIP архива

Ако вам је потребна платна више ЗИП архива која се налази у одређеном фасциклу, можете користити следећи снипт кода:

string[] files = Directory.GetFiles("zip_folder", "*.zip");
foreach (string file in files)
{
    using (Archive archive = new Archive(file))
    {
        archive.ExtractToDirectory("output_folder");
    }
}

Ова метода омогућава аутоматску опсежну ЗИП обраду, штедећи време и напор док ефикасно управљају Ц # Зип датотекама.

Добијање бесплатне АПИ лиценце

Да бисте откључили пуне функције Асписе.ЗИП, можете затражити безплатну привремени лиценцу.

Za sveobuhvatnu dokumentaciju posetite Aspose.ZIP Priručnik ** . Ako imate bilo kakvih pitanja, osećajte se slobodno da se angažujete sa zajednicom na ** Forum.

Закључак и додатни ресурси

Резюме

У овом водичу, покривамо:

  • Како флатентирати ЗИП датотеке у Ц#
  • Извлачење нестених ЗИП архива
  • Спаси финални ЗИП архив
  • Процесирање више ЗИП датотека одједном

Са Aspose.ZIP за .NET, можете ефикасно екстрактирати и управљати ЗИП архивима у вашим апликацијама!

Додатни ресурси

За програмери који желе да побољшају своје разумевање, размотрите ове теме:

  • C# Create Zip Archive: Истражите различите методе за креирање ZIP датотека у вашим C# апликацијама.
  • Креирајте ЗИП датотеку Ц# .НЕТ Цоре: Фокусиран на .NET ЦОре, сазнајте најбоље праксе за креирање ЗИС-а.
  • C# Екстракт датотеке из ЗИП: Корак по корак упутства о екстракцији одређених фајлова из ZIP архива.
  • C# Decompress ZIP: Детаљан водич о декомпресирању ЗИП датотека користећи Ц#.
  • Како Zip датотеке у .NET са C#: Потпуни ходцроу на зиппинг фајловима користећи .NET и Ц#.
  • C# ZipArchive Extract to Directory: Откријте како да користите ЗипАрцхиве за ефикасну екстракцију датотека.
  • C# Zipping Files: Истражите методе за zipping датотеке у C# како бисте побољшали перформансе и удобност.
  • .NET Core Create Zip File: Детаљан поглед на креирање ZIP датотека користећи .NET core и C#.
  • C# Zip: Научите о ефикасном управљању ZIP датотекама у C#.
  • C# Zip Example: Прегледајте практичне примере zipping датотека у C# да бисте убрзали процес развоја.
  • .NET Core Zip: Најбоља пракса за рад са ЗИП датотекама у апликацијама .НЕТ Цоре.
  • C# Отворени ЗИП: Разумевање како ефикасно отворити и читати ЗиП датотеке.
  • C# Прочитајте датотеке из ЗИП: Технике за читање одређених фајлова који се чувају у ZIP архивима.
  • C# Zip Lists: Сазнајте како да zip листе датотека беспрекорно у вашим апликацијама.
  • C# Zipping Датотеке: Погледајте детаљније методе за zipping датотека.
  • .NET Core Zip: Инспирације у управљање датотеком .NET Core ЗИП.
  • C# Archive: Научите да користите Архив класу за свеобухватну ЗИП обраду.

More in this category