Saat bekerja dengan arsip dari dalam aplikasi .NET, Anda mungkin perlu menggabungkan beberapa file ZIP atau TAR. Misalnya, Anda mungkin ingin mengekstrak file dan folder dari banyak arsip dan memasukkannya ke dalam satu arsip. Untuk mencapainya, artikel ini membahas cara menggabungkan beberapa file ZIP atau TAR dalam C#. Kami akan membahas penggabungan ZIP menjadi ZIP, TAR menjadi TAR, ZIP menjadi TAR, dan TAR menjadi ZIP.
- C# API untuk Menggabungkan File ZIP dan TAR
- Menggabungkan Beberapa File ZIP di C#
- Menggabungkan Beberapa File TAR di C#
- Gabungkan ZIP dengan TAR di C#
- Gabungkan TAR dengan ZIP di C#
C# .NET API untuk Menggabungkan File ZIP dan TAR
Untuk menggabungkan beberapa arsip ZIP dan TAR, kami akan memanfaatkan Aspose.ZIP for .NET. Ini adalah .NET API kaya fitur yang memungkinkan Anda membuat dan memanipulasi berbagai format arsip populer. Anda dapat mengunduh DLL API atau menginstalnya langsung menggunakan NuGet.
PM> Install-Package Aspose.Zip
Menggabungkan Beberapa File ZIP di C#
Mari kita mulai perjalanan menggabungkan arsip dengan format ZIP. Kami akan mengambil dua arsip ZIP dan mengumpulkan entri mereka ke dalam satu file ZIP. Berikut ini adalah langkah-langkah untuk menggabungkan beberapa file ZIP di C#.
- Muat file ZIP pertama menggunakan kelas Archive.
- Demikian pula, muat file ZIP kedua menggunakan kelas Archive.
- Sekarang, ulangi entri ZIP pertama menggunakan koleksi Archive.Entries.
- Salin setiap objek ArchiveEntry ke objek MemoryStream menggunakan metode ArchiveEntry.Open().CopyTo(MemoryStream).
- Tambahkan entri ke ZIP kedua menggunakan metode Archive.CreateEntry(string, MemoryStream).
- Simpan ZIP gabungan sebagai file terpisah menggunakan metode Archive.Save(string).
Contoh kode berikut menunjukkan cara menggabungkan dua file ZIP di C#.
// Muat arsip ZIP sumber
using (Archive sourceArchive = new Archive("Archives/SourceArchive.zip"))
{
// Muat arsip ZIP tujuan
using (Archive destArchive = new Archive("Archives/DestinationArchive.zip"))
{
// Ulangi entri
foreach (ArchiveEntry entry in sourceArchive.Entries)
{
// Periksa apakah entri bukan direktori. Entri yang merupakan direktori dilewati, tetapi file mereka ditambahkan dengan menghormati jalur relatif.
if (!entry.IsDirectory)
{
// Memuat entri ke aliran memori
MemoryStream mem = new MemoryStream();
entry.Open().CopyTo(mem);
// Tambahkan entri ke ZIP tujuan
destArchive.CreateEntry(entry.Name, mem);
}
}
// Simpan arsip gabungan secara terpisah
destArchive.Save("Archives/merged-archive.zip");
}
}
Menggabungkan Beberapa File TAR di C#
Sekarang mari kita lihat cara menggabungkan beberapa arsip TAR di C#. Berikut ini adalah langkah-langkah untuk mencapainya.
- Muat file TAR pertama menggunakan kelas TarArchive.
- Demikian pula, muat file TAR kedua menggunakan kelas TarArchive.
- Sekarang, ulangi entri TAR pertama menggunakan koleksi TarArchive.Entries.
- Salin setiap objek TarEntry ke objek MemoryStream menggunakan metode TarEntry.Open().CopyTo(MemoryStream).
- Tambahkan entri ke TAR kedua menggunakan metode TarArchive.CreateEntry(string, MemoryStream).
- Simpan TAR gabungan menggunakan metode TarArchive.Save(string).
Contoh kode berikut menunjukkan cara menggabungkan beberapa file TAR di C#.
// Muat arsip TAR sumber
using (TarArchive sourceArchive = new TarArchive("Archives/SourceArchive.tar"))
{
// Muat arsip TAR tujuan
using (TarArchive destArchive = new TarArchive("Archives/DestinationArchive.tar"))
{
// Ulangi entri
foreach (TarEntry entry in sourceArchive.Entries)
{
// Periksa apakah entri bukan direktori. Entri yang merupakan direktori dilewati, tetapi file mereka ditambahkan dengan menghormati jalur relatif.
if (!entry.IsDirectory)
{
// Memuat entri ke aliran memori
MemoryStream mem = new MemoryStream();
entry.Open().CopyTo(mem);
// Tambahkan entri ke TAR tujuan
destArchive.CreateEntry(entry.Name, mem);
}
}
// Simpan arsip gabungan secara terpisah
destArchive.Save("Archives/merged-archive.tar");
}
}
Menggabungkan ZIP menjadi TAR di C#
Pada bagian ini, kita akan melihat cara menggabungkan file ZIP ke dalam arsip TAR di C#. Berikut ini adalah langkah-langkah untuk melakukan operasi ini.
- Muat file ZIP menggunakan kelas Archive.
- Muat file TAR menggunakan kelas TarArchive.
- Sekarang, ulangi entri ZIP menggunakan koleksi Archive.Entries.
- Salin setiap objek ArchiveEntry ke objek MemoryStream menggunakan metode ArchiveEntry.Open().CopyTo(MemoryStream).
- Tambahkan entri ke TAR menggunakan metode TarArchive.CreateEntry(string, MemoryStream).
- Simpan file TAR menggunakan metode TarArchive.Save(string).
Contoh kode berikut menunjukkan cara menggabungkan arsip ZIP ke dalam TAR.
// Muat arsip ZIP sumber
using (Archive zipArchive = new Archive("Archives/SourceArchive.zip"))
{
// Muat arsip TAR tujuan
using (TarArchive tarArchive = new TarArchive("Archives/DestinationArchive.tar"))
{
// Ulangi entri
foreach (ArchiveEntry entry in zipArchive.Entries)
{
// Periksa apakah entri bukan direktori. Entri yang merupakan direktori dilewati, tetapi file mereka ditambahkan dengan menghormati jalur relatif.
if (!entry.IsDirectory)
{
// Memuat entri ke aliran memori
MemoryStream mem = new MemoryStream();
entry.Open().CopyTo(mem);
// Tambahkan entri ke TAR tujuan
tarArchive.CreateEntry(entry.Name, mem);
}
}
// Simpan arsip gabungan secara terpisah
tarArchive.Save("Archives/merged-archive.tar");
}
}
Gabungkan TAR dengan ZIP di C#
Mirip dengan contoh sebelumnya, Anda dapat menggabungkan file TAR ke dalam ZIP. Contoh kode berikut menunjukkan cara mengekstrak file dari TAR dan menggabungkannya menjadi ZIP.
// Muat arsip TAR
using (TarArchive tarArchive = new TarArchive("Archives/SourceArchive.tar"))
{
// Muat arsip ZIP
using (Archive zipArchive = new Archive("Archives/DestinationArchive.zip"))
{
// Ulangi entri
foreach (TarEntry entry in tarArchive.Entries)
{
// Periksa apakah entri bukan direktori. Entri yang merupakan direktori dilewati, tetapi file mereka ditambahkan dengan menghormati jalur relatif.
if (!entry.IsDirectory)
{
// Memuat entri ke aliran memori
MemoryStream mem = new MemoryStream();
entry.Open().CopyTo(mem);
// Tambahkan entri ke ZIP
zipArchive.CreateEntry(entry.Name, mem);
}
}
// Simpan arsip gabungan secara terpisah
zipArchive.Save("Archives/merged-archive.zip");
}
}
Dapatkan Lisensi API Gratis
Anda dapat menggunakan Aspose.ZIP for .NET tanpa batasan evaluasi dengan mendapatkan lisensi sementara gratis.
Kesimpulan
Pada artikel ini, Anda telah mempelajari cara menggabungkan beberapa arsip ZIP atau TAR secara terprogram dalam C#. Khususnya, kami telah membahas cara menggabungkan file ZIP, file TAR, ZIP menjadi TAR, dan TAR menjadi ZIP secara dinamis. Untuk mempelajari lebih lanjut tentang Aspose.ZIP for .NET, Anda dapat mengunjungi dokumentasi. Selain itu, Anda dapat memposting pertanyaan Anda ke forum kami.