Class CpioArchive

Class CpioArchive

Namespace: Aspose.Zip.Cpio
Assembly: Aspose.Zip.dll (25.1.0)

Kelas ini merepresentasikan file arsip cpio.

public class CpioArchive : IArchive, IDisposable

Pewarisan

objectCpioArchive

Mengimplementasikan

IArchive, IDisposable

Anggota yang Dwarisi

object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

Konstruktor

CpioArchive()

Menginisialisasi instance baru dari kelas Aspose.Zip.Cpio.CpioArchive.

public CpioArchive()

Contoh

Contoh berikut menunjukkan bagaimana cara mengompres sebuah file.

using (var archive = new CpioArchive())
{
    archive.CreateEntry("first.bin", "data.bin");
    archive.Save("archive.cpio");
}

CpioArchive(Stream)

Menginisialisasi instance baru dari kelas Aspose.Zip.Cpio.CpioArchive dan menyusun daftar entri yang dapat diekstrak dari arsip.

public CpioArchive(Stream sourceStream)

Parameter

sourceStream Stream

Sumber dari arsip. Harus dapat dicari.

Contoh

Contoh berikut menunjukkan bagaimana cara mengekstrak semua entri ke sebuah direktori.

using (var archive = new CpioArchive(File.OpenRead("archive.cpio")))
{ 
   archive.ExtractToDirectory("C:\extracted");
}

Catatan

Konstruktor ini tidak membongkar entri apa pun. Lihat metode Aspose.Zip.Cpio.CpioEntry.Open untuk membongkar.

Pengecualian

ArgumentNullException

sourceStream adalah null.

ArgumentException

sourceStream tidak dapat dicari.

InvalidDataException

sourceStream bukan arsip cpio yang valid.

CpioArchive(string)

Menginisialisasi instance baru dari kelas Aspose.Zip.Cpio.CpioArchive dan menyusun daftar entri yang dapat diekstrak dari arsip.

public CpioArchive(string path)

Parameter

path string

Jalur ke file arsip.

Contoh

Contoh berikut menunjukkan bagaimana cara mengekstrak semua entri ke sebuah direktori.

using (var archive = new CpioArchive("archive.cpio")) 
{ 
   archive.ExtractToDirectory("C:\extracted");
}

Catatan

Konstruktor ini tidak membongkar entri apa pun. Lihat metode Aspose.Zip.Cpio.CpioEntry.Open untuk membongkar.

Pengecualian

ArgumentNullException

path adalah null.

SecurityException

Pemanggil tidak memiliki izin yang diperlukan untuk mengakses.

ArgumentException

path kosong, hanya berisi spasi putih, atau mengandung karakter tidak valid.

UnauthorizedAccessException

Akses ke file path ditolak.

PathTooLongException

path, nama file, atau keduanya melebihi panjang maksimum yang ditentukan oleh sistem. Misalnya, di platform berbasis Windows, jalur harus kurang dari 248 karakter, dan nama file harus kurang dari 260 karakter.

NotSupportedException

File di path mengandung titik dua (:) di tengah string.

FileNotFoundException

File tidak ditemukan.

DirectoryNotFoundException

Jalur yang ditentukan tidak valid, seperti berada di drive yang tidak dipetakan.

IOException

File sudah terbuka.

Properti

Entries

Mengambil entri dari tipe Aspose.Zip.Cpio.CpioEntry yang membentuk arsip.

public ReadOnlyCollection<cpioentry> Entries { get; }

Nilai Properti

ReadOnlyCollection<CpioEntry&gt;

Metode

CreateEntries(string, bool)

Menambahkan semua file dan direktori secara rekursif ke arsip di direktori yang diberikan.

public CpioArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true)

Parameter

sourceDirectory string

Direktori untuk dikompres.

includeRootDirectory bool

Menunjukkan apakah akan menyertakan direktori root itu sendiri atau tidak.

Mengembalikan

CpioArchive

Instansi entri Cpio.

Contoh

using (FileStream cpioFile = File.Open("archive.cpio", FileMode.Create))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntries("C:\folder", false);
        archive.Save(cpioFile);
    }
}

Pengecualian

ArgumentNullException

sourceDirectory adalah null.

SecurityException

Pemanggil tidak memiliki izin yang diperlukan untuk mengakses sourceDirectory.

ArgumentException

sourceDirectory mengandung karakter tidak valid seperti “, <, >, atau |.

PathTooLongException

Jalur yang ditentukan, nama file, atau keduanya melebihi panjang maksimum yang ditentukan oleh sistem. Misalnya, di platform berbasis Windows, jalur harus kurang dari 248 karakter, dan nama file harus kurang dari 260 karakter. Jalur yang ditentukan, nama file, atau keduanya terlalu panjang.

IOException

sourceDirectory menunjukkan ke file, bukan ke direktori.

CreateEntries(DirectoryInfo, bool)

Menambahkan semua file dan direktori secara rekursif ke arsip di direktori yang diberikan.

public CpioArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true)

Parameter

directory DirectoryInfo

Direktori untuk dikompres.

includeRootDirectory bool

Menunjukkan apakah akan menyertakan direktori root itu sendiri atau tidak.

Mengembalikan

CpioArchive

Instansi entri Cpio.

Contoh

using (FileStream cpioFile = File.Open("archive.cpio", FileMode.Create))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntries(new DirectoryInfo("C:\folder"), false);
        archive.Save(cpioFile);
    }
}

Pengecualian

ArgumentNullException

directory adalah null.

SecurityException

Pemanggil tidak memiliki izin yang diperlukan untuk mengakses directory.

IOException

directory menunjukkan ke file, bukan ke direktori.

CreateEntry(string, FileInfo, bool)

Membuat entri tunggal dalam arsip.

public CpioEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false)

Parameter

name string

Nama dari entri.

fileInfo FileInfo

Metadata dari file atau folder yang akan dikompres.

openImmediately bool

True jika membuka file segera, jika tidak buka file saat arsip disimpan.

Mengembalikan

CpioEntry

Instansi entri Cpio.

Contoh

FileInfo fileInfo = new FileInfo("data.bin");
using (var archive = new CpioArchive())
{
    archive.CreateEntry("test.bin", fileInfo);
    archive.Save("archive.cpio");
}

Catatan

Jika file dibuka segera dengan parameter openImmediately, file tersebut akan diblokir sampai arsip dibuang.

Pengecualian

ArgumentNullException

name adalah null.

ArgumentException

name kosong.

ArgumentNullException

fileInfo adalah null.

CreateEntry(string, string, bool)

Membuat entri tunggal dalam arsip.

public CpioEntry CreateEntry(string name, string sourcePath, bool openImmediately = false)

Parameter

name string

Nama dari entri.

sourcePath string

Jalur ke file yang akan dikompres.

openImmediately bool

True jika membuka file segera, jika tidak buka file saat arsip disimpan.

Mengembalikan

CpioEntry

Instansi entri Cpio.

Contoh

using (var archive = new CpioArchive())
{
    archive.CreateEntry("first.bin", "data.bin");
    archive.Save("archive.cpio");
}

Catatan

Nama entri hanya diatur dalam parameter name. Nama file yang diberikan dalam parameter sourcePath tidak mempengaruhi nama entri.

Jika file dibuka segera dengan parameter openImmediately, file tersebut akan diblokir sampai arsip dibuang.

Pengecualian

ArgumentNullException

sourcePath adalah null.

SecurityException

Pemanggil tidak memiliki izin yang diperlukan untuk mengakses.

ArgumentException

sourcePath kosong, hanya berisi spasi putih, atau mengandung karakter tidak valid. - atau - Nama file, sebagai bagian dari name, melebihi 100 simbol.

UnauthorizedAccessException

Akses ke file sourcePath ditolak.

PathTooLongException

sourcePath, nama file, atau keduanya melebihi panjang maksimum yang ditentukan oleh sistem. Misalnya, di platform berbasis Windows, jalur harus kurang dari 248 karakter, dan nama file harus kurang dari 260 karakter. - atau - name terlalu panjang untuk cpio.

NotSupportedException

File di sourcePath mengandung titik dua (:) di tengah string.

CreateEntry(string, Stream)

Membuat entri tunggal dalam arsip.

public CpioEntry CreateEntry(string name, Stream source)

Parameter

name string

Nama dari entri.

source Stream

Aliran input untuk entri.

Mengembalikan

CpioEntry

Instansi entri Cpio.

Contoh

using (var archive = new CpioArchive())
{
    archive.CreateEntry("data.bin", File.OpenRead("data.bin"));
    archive.Save("archive.cpio");
}

Pengecualian

ArgumentNullException

name adalah null.

ArgumentNullException

source adalah null.

ArgumentException

name kosong.

DeleteEntry(CpioEntry)

Menghapus kemunculan pertama dari entri tertentu dari daftar entri.

public CpioArchive DeleteEntry(CpioEntry entry)

Parameter

entry CpioEntry

Entri yang akan dihapus dari daftar entri.

Mengembalikan

CpioArchive

Instansi entri Cpio.

Contoh

Berikut adalah cara untuk menghapus semua entri kecuali yang terakhir:

using (var archive = new CpioArchive("archive.cpio"))
{
    while (archive.Entries.Count &gt; 1)
        archive.DeleteEntry(archive.Entries[0]);
    archive.Save(outputCpioFile);
}

Pengecualian

ArgumentNullException

entry adalah null.

DeleteEntry(int)

Menghapus entri dari daftar entri berdasarkan indeks.

public CpioArchive DeleteEntry(int entryIndex)

Parameter

entryIndex int

Indeks berbasis nol dari entri yang akan dihapus.

Mengembalikan

CpioArchive

Arsip dengan entri yang dihapus.

Contoh

using (var archive = new CpioArchive("two_files.cpio"))
{
    archive.DeleteEntry(0);
    archive.Save("single_file.cpio");
}

Pengecualian

ArgumentOutOfRangeException

entryIndex kurang dari 0.-atau- entryIndex sama dengan atau lebih besar dari Entries count.

Dispose()

Melakukan tugas yang ditentukan oleh aplikasi terkait dengan membebaskan, melepaskan, atau mengatur ulang sumber daya yang tidak dikelola.

public void Dispose()

Dispose(bool)

Melakukan tugas yang ditentukan oleh aplikasi terkait dengan membebaskan, melepaskan, atau mengatur ulang sumber daya yang tidak dikelola.

protected virtual void Dispose(bool disposing)

Parameter

disposing bool

Apakah sumber daya yang dikelola harus dibebaskan.

ExtractToDirectory(string)

Mengekstrak semua file dalam arsip ke direktori yang diberikan.

public void ExtractToDirectory(string destinationDirectory)

Parameter

destinationDirectory string

Jalur ke direktori untuk menempatkan file yang diekstrak.

Contoh

using (var archive = new CpioArchive("archive.cpio")) 
{ 
   archive.ExtractToDirectory("C:\extracted");
}

Catatan

Jika direktori tidak ada, direktori tersebut akan dibuat.

Pengecualian

ArgumentNullException

path adalah null

PathTooLongException

Jalur yang ditentukan, nama file, atau keduanya melebihi panjang maksimum yang ditentukan oleh sistem. Misalnya, di platform berbasis Windows, jalur harus kurang dari 248 karakter dan nama file harus kurang dari 260 karakter.

SecurityException

Pemanggil tidak memiliki izin yang diperlukan untuk mengakses direktori yang ada.

NotSupportedException

Jika direktori tidak ada, jalur mengandung karakter titik dua (:) yang bukan bagian dari label drive (“C:").

ArgumentException

path adalah string panjang nol, hanya berisi spasi putih, atau mengandung satu atau lebih karakter tidak valid. Anda dapat menanyakan karakter tidak valid dengan menggunakan metode System.IO.Path.GetInvalidPathChars. -atau- path diawali dengan, atau hanya berisi, karakter titik dua (:).

IOException

Direktori yang ditentukan oleh jalur adalah file. -atau- Nama jaringan tidak dikenal.

Save(string, CpioFormat)

Menyimpan arsip ke file tujuan yang diberikan.

public void Save(string destinationFileName, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parameter

destinationFileName string

Jalur arsip yang akan dibuat. Jika nama file yang ditentukan mengarah ke file yang ada, file tersebut akan ditimpa.

cpioFormat CpioFormat

Mendefinisikan format header cpio.

Contoh

using (var archive = new CpioArchive())
{
    archive.CreateEntry("entry1", "data.bin");        
    archive.Save("archive.cpio");
}

Catatan

Dimungkinkan untuk menyimpan arsip ke jalur yang sama seperti saat dimuat. Namun, ini tidak disarankan karena pendekatan ini menggunakan penyalinan ke file sementara.

Pengecualian

ArgumentException

destinationFileName adalah string panjang nol, hanya berisi spasi putih, atau mengandung satu atau lebih karakter tidak valid sebagaimana didefinisikan oleh System.IO.Path.InvalidPathChars.

ArgumentNullException

destinationFileName adalah null.

PathTooLongException

destinationFileName, nama file, atau keduanya melebihi panjang maksimum yang ditentukan oleh sistem. Misalnya, di platform berbasis Windows, jalur harus kurang dari 248 karakter, dan nama file harus kurang dari 260 karakter.

DirectoryNotFoundException

destinationFileName yang ditentukan tidak valid, (misalnya, berada di drive yang tidak dipetakan).

IOException

Terjadi kesalahan I/O saat membuka file.

UnauthorizedAccessException

destinationFileName menentukan file yang hanya dapat dibaca dan akses tidak diizinkan untuk Membaca.-atau- jalur yang ditentukan adalah direktori.-atau- Pemanggil tidak memiliki izin yang diperlukan.

NotSupportedException

destinationFileName dalam format tidak valid.

Save(Stream, CpioFormat)

Menyimpan arsip ke aliran yang diberikan.

public void Save(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parameter

output Stream

Aliran tujuan.

cpioFormat CpioFormat

Mendefinisikan format header cpio.

Contoh

using (FileStream cpioFile = File.Open("archive.cpio", FileMode.Create))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntry("entry1", "data.bin");        
        archive.Save(cpioFile);
    }
}

Catatan

output harus dapat ditulis.

Pengecualian

ArgumentNullException

output adalah null.

ArgumentException

output tidak dapat ditulis. - atau - output adalah aliran yang sama dari mana kita mengekstrak. - ATAU - Tidak mungkin menyimpan arsip dalam cpioFormat karena batasan format.

SaveGzipped(Stream, CpioFormat)

Menyimpan arsip ke aliran dengan kompresi gzip.

public void SaveGzipped(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parameter

output Stream

Aliran tujuan.

cpioFormat CpioFormat

Mendefinisikan format header cpio.

Contoh

using (FileStream result = File.OpenWrite("result.cpio.gz"))
{
    using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
    {
        using (var archive = new CpioArchive())
        {
            archive.CreateEntry("entry.bin", source);
            archive.SaveGzipped(result);
        }
    }
}

Catatan

output harus dapat ditulis.

Pengecualian

ArgumentNullException

output adalah null.

ArgumentException

output tidak dapat ditulis.

SaveGzipped(string, CpioFormat)

Menyimpan arsip ke file berdasarkan jalur dengan kompresi gzip.

public void SaveGzipped(string path, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parameter

path string

Jalur arsip yang akan dibuat. Jika nama file yang ditentukan mengarah ke file yang ada, file tersebut akan ditimpa.

cpioFormat CpioFormat

Mendefinisikan format header cpio.

Contoh

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntry("entry.bin", source);
        archive.SaveGzipped("result.cpio.gz");
    }
}

SaveLZMACompressed(Stream, CpioFormat)

Menyimpan arsip ke aliran dengan kompresi LZMA.

public void SaveLZMACompressed(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parameter

output Stream

Aliran tujuan.

cpioFormat CpioFormat

Mendefinisikan format header cpio.

Contoh

using (FileStream result = File.OpenWrite("result.cpio.lzma"))
{
    using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
    {
        using (var archive = new CpioArchive())
        {
            archive.CreateEntry("entry.bin", source);
            archive.SaveLZMACompressed(result);
        }
    }
}

Catatan

output harus dapat ditulis.

Penting: arsip cpio disusun kemudian dikompresi dalam metode ini, isinya disimpan secara internal. Hati-hati terhadap konsumsi memori.

SaveLZMACompressed(string, CpioFormat)

Menyimpan arsip ke file berdasarkan jalur dengan kompresi lzma.

public void SaveLZMACompressed(string path, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parameter

path string

Jalur arsip yang akan dibuat. Jika nama file yang ditentukan mengarah ke file yang ada, file tersebut akan ditimpa.

cpioFormat CpioFormat

Mendefinisikan format header cpio.

Contoh

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntry("entry.bin", source);
        archive.SaveLZMACompressed("result.cpio.lzma");
    }
}

Catatan

Penting: arsip cpio disusun kemudian dikompresi dalam metode ini, isinya disimpan secara internal. Hati-hati terhadap konsumsi memori.

SaveLzipped(Stream, CpioFormat)

Menyimpan arsip ke aliran dengan kompresi lzip.

public void SaveLzipped(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parameter

output Stream

Aliran tujuan.

cpioFormat CpioFormat

Mendefinisikan format header cpio.

Contoh

using (FileStream result = File.OpenWrite("result.cpio.lz"))
{
    using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
    {
        using (var archive = new CpioArchive())
        {
            archive.CreateEntry("entry.bin", source);
            archive.SaveGzipped(result);
        }
    }
}

Catatan

output harus dapat ditulis.

Pengecualian

ArgumentNullException

output adalah null.

ArgumentException

output tidak dapat ditulis.

SaveLzipped(string, CpioFormat)

Menyimpan arsip ke file berdasarkan jalur dengan kompresi lzip.

public void SaveLzipped(string path, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parameter

path string

Jalur arsip yang akan dibuat. Jika nama file yang ditentukan mengarah ke file yang ada, file tersebut akan ditimpa.

cpioFormat CpioFormat

Mendefinisikan format header cpio.

Contoh

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntry("entry.bin", source);
        archive.SaveGzipped("result.cpio.lz");
    }
}

SaveXzCompressed(Stream, CpioFormat, XzArchiveSettings)

Menyimpan arsip ke aliran dengan kompresi xz.

public void SaveXzCompressed(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii, XzArchiveSettings settings = null)

Parameter

output Stream

Aliran tujuan.

cpioFormat CpioFormat

Mendefinisikan format header cpio.

settings XzArchiveSettings

Sekumpulan pengaturan arsip xz tertentu: ukuran kamus, ukuran blok, jenis pemeriksaan.

Contoh

using (FileStream result = File.OpenWrite("result.cpio.xz"))
{
    using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
    {
        using (var archive = new CpioArchive())
        {
            archive.CreateEntry("entry.bin", source);
            archive.SaveXzCompressed(result);
        }
    }
}

Catatan

output harus dapat ditulis.

Pengecualian

ArgumentNullException

output adalah null.

ArgumentException

output tidak dapat ditulis.

SaveXzCompressed(string, CpioFormat, XzArchiveSettings)

Menyimpan arsip ke jalur berdasarkan jalur dengan kompresi xz.

public void SaveXzCompressed(string path, CpioFormat cpioFormat = CpioFormat.OldAscii, XzArchiveSettings settings = null)

Parameter

path string

Jalur arsip yang akan dibuat. Jika nama file yang ditentukan mengarah ke file yang ada, file tersebut akan ditimpa.

cpioFormat CpioFormat

Mendefinisikan format header cpio.

settings XzArchiveSettings

Sekumpulan pengaturan arsip xz tertentu: ukuran kamus, ukuran blok, jenis pemeriksaan.

Contoh

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntry("entry.bin", source);
        archive.SaveXzCompressed("result.cpio.xz");
    }
}

SaveZCompressed(Stream, CpioFormat)

Menyimpan arsip ke aliran dengan kompresi Z.

public void SaveZCompressed(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parameter

output Stream

Aliran tujuan.

cpioFormat CpioFormat

Mendefinisikan format header cpio.

Contoh

using (FileStream result = File.OpenWrite("result.cpio.Z"))
{
    using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
    {
        using (var archive = new CpioArchive())
        {
            archive.CreateEntry("entry.bin", source);
            archive.SaveZCompressed(result);
        }
    }
}

Catatan

output harus dapat ditulis.

Pengecualian

ArgumentNullException

output adalah null.

ArgumentException

output tidak dapat ditulis.

SaveZCompressed(string, CpioFormat)

Menyimpan arsip ke jalur berdasarkan jalur dengan kompresi Z.

public void SaveZCompressed(string path, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parameter

path string

Jalur arsip yang akan dibuat. Jika nama file yang ditentukan mengarah ke file yang ada, file tersebut akan ditimpa.

cpioFormat CpioFormat

Mendefinisikan format header cpio.

Contoh

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntry("entry.bin", source);
        archive.SaveZCompressed("result.cpio.Z");
    }
}

SaveZstandard(Stream, CpioFormat)

Menyimpan arsip ke aliran dengan kompresi Zstandard.

public void SaveZstandard(Stream output, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parameter

output Stream

Aliran tujuan.

cpioFormat CpioFormat

Mendefinisikan format header cpio.

Contoh

using (FileStream result = File.OpenWrite("result.cpio.zst"))
{
    using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
    {
        using (var archive = new CpioArchive())
        {
            archive.CreateEntry("entry.bin", source);
            archive.SaveZstandard(result);
        }
    }
}

Catatan

output harus dapat ditulis.

Pengecualian

ArgumentNullException

output adalah null.

ArgumentException

output tidak dapat ditulis.

SaveZstandard(string, CpioFormat)

Menyimpan arsip ke file berdasarkan jalur dengan kompresi Zstandard.

public void SaveZstandard(string path, CpioFormat cpioFormat = CpioFormat.OldAscii)

Parameter

path string

Jalur arsip yang akan dibuat. Jika nama file yang ditentukan mengarah ke file yang ada, file tersebut akan ditimpa.

cpioFormat CpioFormat

Mendefinisikan format header cpio.

Contoh

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
    using (var archive = new CpioArchive())
    {
        archive.CreateEntry("entry.bin", source);
        archive.SaveZstandard("result.cpio.zst");
    }
}
 Indonesia