Class SharArchive
Namespace: Aspose.Zip.Shar
Assembly: Aspose.Zip.dll (25.1.0)
Kelas ini merepresentasikan file arsip shar.
public class SharArchive : IDisposable
Pewarisan
Menerapkan
Anggota yang Dwarisi
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Konstruktor
SharArchive()
Menginisialisasi instance baru dari kelas Aspose.Zip.Shar.SharArchive.
public SharArchive()
Contoh
Contoh berikut menunjukkan cara untuk mengompres file.
using (var archive = new SharArchive())
{
archive.CreateEntry("first.bin", "data.bin");
archive.Save("archive.shar");
}
SharArchive(string)
Menginisialisasi instance baru dari kelas Aspose.Zip.Shar.SharArchive yang disiapkan untuk mendekompresi.
public SharArchive(string path)
Parameter
path
string
Jalur ke sumber arsip.
Pengecualian
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 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.Shar.SharEntry yang merupakan bagian dari arsip.
public ReadOnlyCollection<sharentry> Entries { get; }
Nilai Properti
ReadOnlyCollection<SharEntry>
Metode
CreateEntries(string, bool)
Menambahkan semua file dan direktori secara rekursif ke dalam arsip dari direktori yang diberikan.
public SharArchive 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 Shar.
Contoh
using (FileStream sharFile = File.Open("archive.shar", FileMode.Create))
{
using (var archive = new SharArchive())
{
archive.CreateEntries("C:\folder", false);
archive.Save(sharFile);
}
}
Pengecualian
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
merujuk pada file, bukan direktori.
CreateEntries(DirectoryInfo, bool)
Menambahkan semua file dan direktori secara rekursif ke dalam arsip dari direktori yang diberikan.
public SharArchive 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 Shar.
Contoh
using (FileStream sharFile = File.Open("archive.shar", FileMode.Create))
{
using (var archive = new SharArchive())
{
archive.CreateEntries(new DirectoryInfo("C:\folder"), false);
archive.Save(sharFile);
}
}
Pengecualian
directory
adalah null.
Pemanggil tidak memiliki izin yang diperlukan untuk mengakses directory
.
directory
merujuk pada file, bukan direktori.
CreateEntry(string, FileInfo, bool)
Membuat entri tunggal dalam arsip.
public SharEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false)
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 menyimpan arsip.
Mengembalikan
Instansi entri Shar.
Contoh
FileInfo fileInfo = new FileInfo("data.bin");
using (var archive = new SharArchive())
{
archive.CreateEntry("test.bin", fileInfo);
archive.Save("archive.shar");
}
Catatan
Jika file dibuka segera dengan parameter openImmediately
, file tersebut akan diblokir hingga arsip dibuang.
Pengecualian
name
adalah null.
name
kosong.
fileInfo
adalah null.
CreateEntry(string, string, bool)
Membuat entri tunggal dalam arsip.
public SharEntry CreateEntry(string name, string sourcePath, bool openImmediately = false)
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 menyimpan arsip.
Mengembalikan
Instansi entri Shar.
Contoh
using (var archive = new SharArchive())
{
archive.CreateEntry("first.bin", "data.bin");
archive.Save("archive.shar");
}
Catatan
Nama entri hanya ditetapkan 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 hingga arsip dibuang.
Pengecualian
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 shar.
File di sourcePath
mengandung titik dua (:) di tengah string.
CreateEntry(string, Stream)
Membuat entri tunggal dalam arsip.
public SharEntry CreateEntry(string name, Stream source)
Parameter
name
string
Nama entri.
source
Stream
Aliran input untuk entri.
Mengembalikan
Instansi entri Shar.
Contoh
using (var archive = new SharArchive())
{
archive.CreateEntry("data.bin", File.OpenRead("data.bin"));
archive.Save("archive.shar");
}
Pengecualian
name
adalah null.
source
adalah null.
name
kosong.
DeleteEntry(SharEntry)
Menghapus kemunculan pertama dari entri tertentu dari daftar entri.
public SharArchive DeleteEntry(SharEntry entry)
Parameter
entry
SharEntry
Entri yang akan dihapus dari daftar entri.
Mengembalikan
Instansi entri Shar.
Contoh
Berikut adalah cara Anda dapat menghapus semua entri kecuali yang terakhir:
using (var archive = new SharArchive("archive.shar"))
{
while (archive.Entries.Count > 1)
archive.DeleteEntry(archive.Entries[0]);
archive.Save(outputSharFile);
}
Pengecualian
entry
adalah null.
DeleteEntry(int)
Menghapus entri dari daftar entri berdasarkan indeks.
public SharArchive 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 SharArchive("two_files.shar"))
{
archive.DeleteEntry(0);
archive.Save("single_file.shar");
}
Pengecualian
entryIndex
kurang dari 0.-atau- entryIndex
sama dengan atau lebih besar dari jumlah Entries
.
Dispose(bool)
Melakukan tugas yang ditentukan oleh aplikasi yang terkait dengan membebaskan, melepaskan, atau mereset sumber daya yang tidak dikelola.
protected virtual void Dispose(bool disposing)
Parameter
disposing
bool
Apakah sumber daya yang dikelola harus dibuang.
Dispose()
Melakukan tugas yang ditentukan oleh aplikasi yang terkait dengan membebaskan, melepaskan, atau mereset sumber daya yang tidak dikelola.
public void Dispose()
Save(string)
Menyimpan arsip ke file tujuan yang diberikan.
public void Save(string destinationFileName)
Parameter
destinationFileName
string
Jalur arsip yang akan dibuat. Jika nama file yang ditentukan mengarah ke file yang ada, file tersebut akan ditimpa.
Contoh
using (var archive = new SharArchive())
{
archive.CreateEntry("entry1", "data.bin");
archive.Save("archive.shar");
}
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 dengan panjang nol, hanya berisi spasi putih, atau mengandung satu atau lebih karakter tidak valid seperti yang ditentukan oleh System.IO.Path.InvalidPathChars.
destinationFileName
adalah null.
destinationFileName
, 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.
destinationFileName
yang ditentukan tidak valid, (misalnya, berada di drive yang tidak dipetakan).
Terjadi kesalahan I/O saat membuka file.
destinationFileName
menunjuk ke 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 yang tidak valid.
File tidak ditemukan.
Save(Stream)
Menyimpan arsip ke aliran yang diberikan.
public void Save(Stream output)
Parameter
output
Stream
Aliran tujuan.
Contoh
using (FileStream sharFile = File.Open("archive.shar", FileMode.Create))
{
using (var archive = new SharArchive())
{
archive.CreateEntry("entry1", "data.bin");
archive.Save(sharFile);
}
}
Catatan
output
harus dapat ditulis.
Pengecualian
output
adalah null.
output
tidak dapat ditulis. - atau - output
adalah aliran yang sama dari mana kita mengekstrak.