Modyfikuj pliki ZIP za pomocą Aspose.Zip dla .NET
Wstęp
Pliki zip są niezbędne do organizacji i kompresji danych, ale jak programowo modyfikować ich zawartość? Rozwiązaniem jest Aspose.Zip dla .NET, solidna biblioteka, która upraszcza manipulację plikami zip za pomocą C#. W tym samouczku krok po kroku przeprowadzimy Cię przez wyodrębnianie, usuwanie i dodawanie wpisów do plików zip.
Wymagania wstępne
Zanim przejdziemy do konkretów, upewnij się, że masz następujące rzeczy:
-
Aspose.Zip dla biblioteki .NET: Zainstaluj bibliotekę w swoim projekcie. Możesz ją pobraćTutaj.
-
Katalog dokumentów: Skonfiguruj katalog do przechowywania plików zip. Zastąp
"Your Document Directory"
w kodzie z rzeczywistą ścieżką.
Importuj niezbędne przestrzenie nazw
Zacznij od zaimportowania wymaganych przestrzeni nazw:
using Aspose.Zip;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
Krok 1: Otwórz zewnętrzny plik ZIP
Zacznij od otwarcia głównego pliku zip (zewnętrznego pliku zip):
string dataDir = "Your Data Directory";
using (Archive outer = new Archive(dataDir + "outer.zip"))
{
// Przejdź do identyfikacji wewnętrznych wpisów kodów pocztowych
}
Krok 2: Zidentyfikuj wewnętrzne wpisy kodów pocztowych
Następnie zidentyfikuj i przygotuj się do usunięcia wszelkich wewnętrznych plików zip:
List<ArchiveEntry> entriesToDelete = new List<ArchiveEntry>();
List<string> namesToInsert = new List<string>();
List<MemoryStream> contentToInsert = new List<MemoryStream>();
foreach (ArchiveEntry entry in outer.Entries)
{
if (entry.Name.EndsWith(".zip", StringComparison.InvariantCultureIgnoreCase))
{
entriesToDelete.Add(entry);
using (MemoryStream innerCompressed = new MemoryStream())
{
entry.Open().CopyTo(innerCompressed);
// Wyodrębnij wpisy wewnętrzne
using (Archive inner = new Archive(innerCompressed))
{
foreach (ArchiveEntry ie in inner.Entries)
{
namesToInsert.Add(ie.Name);
MemoryStream content = new MemoryStream();
ie.Open().CopyTo(content);
contentToInsert.Add(content);
}
}
}
}
}
Krok 3: Usuń wpisy z archiwum wewnętrznego
Po zebraniu potrzebnych wpisów usuń wewnętrzne wpisy z pliku ZIP:
foreach (ArchiveEntry e in entriesToDelete)
{
outer.DeleteEntry(e);
}
Krok 4: Dodaj zmodyfikowane wpisy do zewnętrznego pliku ZIP
Teraz możesz dodać nowo wyodrębnione wpisy z powrotem do zewnętrznego pliku zip:
for (int i = 0; i < namesToInsert.Count; i++)
{
outer.CreateEntry(namesToInsert[i], contentToInsert[i]);
}
Krok 5: Zapisz zmodyfikowany plik ZIP
Na koniec zapisz zmiany w nowym pliku zip:
outer.Save(dataDir + "flatten.zip");
Wniosek
Aspose.Zip dla .NET zapewnia potężny i prosty sposób na programowe manipulowanie plikami zip. Ten samouczek obejmuje wyodrębnianie, usuwanie i dodawanie wpisów do pliku zip, ilustrując wszechstronność biblioteki. Poznaj różne scenariusze i zwiększ swoje umiejętności manipulowania plikami!
Najczęściej zadawane pytania
Czy mogę używać Aspose.Zip dla .NET z innymi językami programowania?
Aspose.Zip jest przeznaczony przede wszystkim dla aplikacji .NET, ale Aspose oferuje podobne biblioteki dla różnych języków programowania.
Czy jest dostępna bezpłatna wersja próbna Aspose.Zip dla .NET?
Tak, bezpłatna wersja próbna jest dostępna do pobraniaTutaj.
Jak uzyskać pomoc techniczną dotyczącą Aspose.Zip dla platformy .NET?
OdwiedźForum Aspose.Zip w celu uzyskania wsparcia i dyskusji.
Czy mogę kupić tymczasową licencję na Aspose.Zip dla platformy .NET?
Tak, możesz uzyskać tymczasową licencjęTutaj.
Gdzie mogę znaleźć dokumentację Aspose.Zip dla .NET?
Pełna dokumentacja jest dostępnaTutaj.