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
Mengimplementasikan
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
sourceStream
adalah null.
sourceStream
tidak dapat dicari.
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
path
adalah null.
Pemanggil tidak memiliki izin yang diperlukan untuk mengakses.
path
kosong, hanya berisi spasi putih, atau mengandung karakter tidak valid.
Akses ke file path
ditolak.
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.
File di path
mengandung titik dua (:) di tengah string.
File tidak ditemukan.
Jalur yang ditentukan tidak valid, seperti berada di drive yang tidak dipetakan.
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>
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
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
sourceDirectory
adalah null.
Pemanggil tidak memiliki izin yang diperlukan untuk mengakses sourceDirectory
.
sourceDirectory
mengandung karakter tidak valid seperti “, <, >, atau |.
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.
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
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
directory
adalah null.
Pemanggil tidak memiliki izin yang diperlukan untuk mengakses directory
.
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
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
name
adalah null.
name
kosong.
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
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
sourcePath
adalah null.
Pemanggil tidak memiliki izin yang diperlukan untuk mengakses.
sourcePath
kosong, hanya berisi spasi putih, atau mengandung karakter tidak valid. - atau - Nama file, sebagai bagian dari name
, melebihi 100 simbol.
Akses ke file sourcePath
ditolak.
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.
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
Instansi entri Cpio.
Contoh
using (var archive = new CpioArchive())
{
archive.CreateEntry("data.bin", File.OpenRead("data.bin"));
archive.Save("archive.cpio");
}
Pengecualian
name
adalah null.
source
adalah null.
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
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 > 1)
archive.DeleteEntry(archive.Entries[0]);
archive.Save(outputCpioFile);
}
Pengecualian
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
Arsip dengan entri yang dihapus.
Contoh
using (var archive = new CpioArchive("two_files.cpio"))
{
archive.DeleteEntry(0);
archive.Save("single_file.cpio");
}
Pengecualian
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
path adalah null
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.
Pemanggil tidak memiliki izin yang diperlukan untuk mengakses direktori yang ada.
Jika direktori tidak ada, jalur mengandung karakter titik dua (:) yang bukan bagian dari label drive (“C:").
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 (:).
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
destinationFileName
adalah string panjang nol, hanya berisi spasi putih, atau mengandung satu atau lebih karakter tidak valid sebagaimana didefinisikan oleh System.IO.Path.InvalidPathChars.
destinationFileName
adalah null.
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.
destinationFileName
yang ditentukan tidak valid, (misalnya, berada di drive yang tidak dipetakan).
Terjadi kesalahan I/O saat membuka file.
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.
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
output
adalah null.
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
output
adalah null.
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.
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
output
adalah null.
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
output
adalah null.
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
output
adalah null.
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
output
adalah null.
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");
}
}