Class XarArchive
Namespace: Aspose.Zip.Xar
Assembly: Aspose.Zip.dll (25.1.0)
Kelas ini mewakili file arsip xar.
public class XarArchive : 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
XarArchive(XarCompressionSettings)
Menginisialisasi instance baru dari kelas Aspose.Zip.Xar.XarArchive.
public XarArchive(XarCompressionSettings defaultCompressionSettings = null)
Parameter
defaultCompressionSettings
XarCompressionSettings
Pengaturan kompresi default, diterapkan ke semua entri arsip.
Contoh
Contoh berikut menunjukkan cara mengompres file.
using (var archive = new XarArchive())
{
archive.CreateEntry("first.bin", "data.bin");
archive.Save("archive.xar");
}
XarArchive(Stream, XarLoadOptions)
Menginisialisasi instance baru dari kelas Aspose.Zip.Xar.XarArchive dan menyusun daftar entri yang dapat diekstrak dari arsip.
public XarArchive(Stream sourceStream, XarLoadOptions loadOptions = null)
Parameter
sourceStream
Stream
Sumber arsip. Harus dapat dicari.
loadOptions
XarLoadOptions
Opsi untuk memuat arsip.
Contoh
Contoh berikut menunjukkan cara mengekstrak semua entri ke direktori.
using (var archive = new XarArchive(File.OpenRead("archive.xar")))
{
archive.ExtractToDirectory("C:\\extracted");
}
Catatan
Konstruktor ini tidak membongkar entri apa pun. Lihat metode Aspose.Zip.Xar.XarFileEntry.Open untuk membongkar.
Eksepsi
sourceStream
adalah null.
sourceStream
tidak dapat dicari.
sourceStream
bukan arsip xar yang valid.
XarArchive(string, XarLoadOptions)
Menginisialisasi instance baru dari kelas Aspose.Zip.Xar.XarArchive dan menyusun daftar entri yang dapat diekstrak dari arsip.
public XarArchive(string path, XarLoadOptions loadOptions = null)
Parameter
path
string
Jalur ke file arsip.
loadOptions
XarLoadOptions
Opsi untuk memuat arsip.
Contoh
Contoh berikut menunjukkan cara mengekstrak semua entri ke direktori.
using (var archive = new XarArchive("archive.xar"))
{
archive.ExtractToDirectory("C:\\extracted");
}
Catatan
Konstruktor ini tidak membongkar entri apa pun. Lihat metode Aspose.Zip.Xar.XarFileEntry.Open untuk membongkar.
Eksepsi
path
adalah null.
Pemanggil tidak memiliki izin yang diperlukan untuk mengakses.
path
kosong, hanya berisi spasi putih, atau mengandung karakter yang tidak valid.
Akses ke file path
ditolak.
path
, nama file, atau keduanya melebihi panjang maksimum yang ditentukan oleh sistem. Misalnya, pada platform berbasis Windows, jalur harus kurang dari 248 karakter, dan nama file harus kurang dari 260 karakter.
File di path
mengandung tanda titik dua (:) di tengah string.
File tidak ditemukan.
Jalur yang ditentukan tidak valid, seperti berada di drive yang tidak dipetakan.
File sudah terbuka.
File di path
bukan arsip xar yang valid.
Properti
Entries
Mendapatkan entri dari tipe Aspose.Zip.Xar.XarEntry yang membentuk arsip.
public IEnumerable<xarentry> Entries { get; }
Nilai Properti
IEnumerable<XarEntry>
Metode
CreateEntries(string, bool, XarCompressionSettings)
Menambahkan ke arsip semua file dan direktori secara rekursif di direktori yang diberikan.
public XarArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true, XarCompressionSettings compressionSettings = null)
Parameter
sourceDirectory
string
Direktori untuk dikompres.
includeRootDirectory
bool
Menunjukkan apakah akan menyertakan direktori akar itu sendiri atau tidak.
compressionSettings
XarCompressionSettings
Pengaturan kompresi yang digunakan untuk menambahkan item Aspose.Zip.Xar.XarEntry.
Mengembalikan
Instansi entri Xar.
Contoh
using (FileStream xarFile = File.Open("archive.xar", FileMode.Create))
{
using (var archive = new XarArchive())
{
archive.CreateEntries(@"C:\folder", false);
archive.Save(xarFile);
}
}
Eksepsi
sourceDirectory
adalah null.
Pemanggil tidak memiliki izin yang diperlukan untuk mengakses sourceDirectory
.
sourceDirectory
mengandung karakter yang tidak valid seperti “, <, >, atau |.
Jalur yang ditentukan, nama file, atau keduanya melebihi panjang maksimum yang ditentukan oleh sistem. Misalnya, pada 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
mewakili file, bukan direktori.
CreateEntries(DirectoryInfo, bool, XarCompressionSettings)
Menambahkan ke arsip semua file dan direktori secara rekursif di direktori yang diberikan.
public XarArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true, XarCompressionSettings compressionSettings = null)
Parameter
directory
DirectoryInfo
Direktori untuk dikompres.
includeRootDirectory
bool
Menunjukkan apakah akan menyertakan direktori akar itu sendiri atau tidak.
compressionSettings
XarCompressionSettings
Pengaturan kompresi yang digunakan untuk menambahkan item Aspose.Zip.Xar.XarEntry.
Mengembalikan
Instansi entri Xar.
Contoh
using (FileStream xarFile = File.Open("archive.xar", FileMode.Create))
{
using (var archive = new XarArchive())
{
archive.CreateEntries(new DirectoryInfo(@"C:\folder"), false);
archive.Save(xarFile);
}
}
Eksepsi
directory
adalah null.
Pemanggil tidak memiliki izin yang diperlukan untuk mengakses directory
.
directory
mewakili file, bukan direktori.
CreateEntry(string, FileInfo, bool, XarCompressionSettings)
Buat entri tunggal dalam arsip.
public XarEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, XarCompressionSettings compressionSettings = null)
Parameter
name
string
Nama entri.
fileInfo
FileInfo
Metadata file atau folder yang akan dikompres.
openImmediately
bool
True jika membuka file segera, jika tidak buka file saat arsip disimpan.
compressionSettings
XarCompressionSettings
Pengaturan kompresi yang digunakan untuk menambahkan item Aspose.Zip.Xar.XarEntry.
Mengembalikan
Instansi entri Xar.
Contoh
FileInfo fileInfo = new FileInfo("data.bin");
using (var archive = new XarArchive())
{
archive.CreateEntry("test.bin", fileInfo);
archive.Save("archive.xar");
}
Catatan
Jika file dibuka segera dengan parameter openImmediately
maka akan terblokir hingga arsip dibuang.
Eksepsi
name
adalah null.
name
kosong.
fileInfo
adalah null.
CreateEntry(string, string, bool, XarCompressionSettings)
Buat entri tunggal dalam arsip.
public XarEntry CreateEntry(string name, string sourcePath, bool openImmediately = false, XarCompressionSettings compressionSettings = null)
Parameter
name
string
Nama entri.
sourcePath
string
Jalur ke file yang akan dikompres.
openImmediately
bool
True jika membuka file segera, jika tidak buka file saat arsip disimpan.
compressionSettings
XarCompressionSettings
Pengaturan kompresi yang digunakan untuk menambahkan item Aspose.Zip.Xar.XarEntry.
Mengembalikan
Instansi entri Xar.
Contoh
using (var archive = new XarArchive())
{
archive.CreateEntry("first.bin", "data.bin");
archive.Save("archive.xar");
}
Catatan
Nama entri hanya ditetapkan dalam parameter name
. Nama file yang diberikan dalam parameter sourcePath
tidak memengaruhi nama entri.
Jika file dibuka segera dengan parameter openImmediately
maka akan terblokir hingga arsip dibuang.
Eksepsi
sourcePath
adalah null.
Pemanggil tidak memiliki izin yang diperlukan untuk mengakses.
sourcePath
kosong, hanya berisi spasi putih, atau mengandung karakter yang 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, pada platform berbasis Windows, jalur harus kurang dari 248 karakter, dan nama file harus kurang dari 260 karakter. - atau - name
terlalu panjang untuk xar.
File di sourcePath
mengandung tanda titik dua (:) di tengah string.
Tidak mungkin untuk memodifikasi arsip xar.
CreateEntry(string, Stream, XarCompressionSettings)
Buat entri tunggal dalam arsip.
public XarEntry CreateEntry(string name, Stream source, XarCompressionSettings compressionSettings = null)
Parameter
name
string
Nama entri.
source
Stream
Aliran masukan untuk entri.
compressionSettings
XarCompressionSettings
Pengaturan kompresi yang digunakan untuk menambahkan item Aspose.Zip.Xar.XarEntry.
Mengembalikan
Instansi entri Xar.
Contoh
using (var archive = new XarArchive())
{
archive.CreateEntry("data.bin", File.OpenRead("data.bin"));
archive.Save("archive.xar");
}
Eksepsi
name
adalah null.
source
adalah null.
name
kosong.
Tidak mungkin untuk memodifikasi arsip xar.
DeleteEntry(XarEntry)
Menghapus kemunculan pertama dari entri tertentu dari daftar entri.
public XarArchive DeleteEntry(XarEntry entry)
Parameter
entry
XarEntry
Entri yang akan dihapus dari daftar entri.
Mengembalikan
Instansi entri Xar.
Contoh
Berikut adalah cara Anda dapat menghapus semua entri kecuali yang terakhir:
using (var archive = new XarArchive("archive.xar"))
{
while (archive.Entries.Count > 1)
archive.DeleteEntry(archive.Entries.FirstOrDefault());
archive.Save(outputXarFile);
}
Eksepsi
entry
adalah null.
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 disediakan.
public void ExtractToDirectory(string destinationDirectory)
Parameter
destinationDirectory
string
Jalur ke direktori untuk menempatkan file yang diekstrak.
Contoh
using (var archive = new XarArchive("archive.xar"))
{
archive.ExtractToDirectory("C:\\extracted");
}
Catatan
Jika direktori tidak ada, itu akan dibuat.
Eksepsi
path adalah null
Jalur yang ditentukan, nama file, atau keduanya melebihi panjang maksimum yang ditentukan oleh sistem. Misalnya, pada 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 dengan panjang nol, hanya berisi spasi putih, atau mengandung satu atau lebih karakter yang tidak valid. Anda dapat menanyakan karakter yang tidak valid dengan menggunakan metode System.IO.Path.GetInvalidPathChars. -atau- path diawali dengan, atau hanya mengandung, karakter titik dua (:).
Direktori yang ditentukan oleh path adalah file. -atau- Nama jaringan tidak diketahui.
Arsip rusak.
Save(string, XarSaveOptions)
Menyimpan arsip ke file tujuan yang diberikan.
public void Save(string destinationFileName, XarSaveOptions saveOptions = null)
Parameter
destinationFileName
string
Jalur arsip yang akan dibuat. Jika nama file yang ditentukan menunjuk ke file yang ada, itu akan ditimpa.
saveOptions
XarSaveOptions
Opsi untuk menyimpan arsip xar.
Eksepsi
destinationFileName
adalah null.
Tidak mungkin untuk memodifikasi arsip xar.
Save(Stream, XarSaveOptions)
Menyimpan arsip ke aliran yang diberikan.
public void Save(Stream output, XarSaveOptions saveOptions = null)
Parameter
output
Stream
Aliran tujuan.
saveOptions
XarSaveOptions
Opsi untuk menyimpan arsip xar.
Eksepsi
output
adalah null.
output
tidak dapat ditulis/dibaca atau tidak dapat dicari.
Tidak mungkin untuk memodifikasi arsip xar.