Class SharArchive

Class SharArchive

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

Kelas ini merepresentasikan file arsip shar.

public class SharArchive : IDisposable

Pewarisan

objectSharArchive

Menerapkan

IDisposable

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

ArgumentNullException

path adalah null.

SecurityException

Pemanggil tidak memiliki izin yang diperlukan untuk mengakses.

ArgumentException

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

UnauthorizedAccessException

Akses ke file path ditolak.

PathTooLongException

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.

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.Shar.SharEntry yang merupakan bagian dari arsip.

public ReadOnlyCollection<sharentry> Entries { get; }

Nilai Properti

ReadOnlyCollection<SharEntry&gt;

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

SharArchive

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

ArgumentNullException

sourceDirectory adalah null.

SecurityException

Pemanggil tidak memiliki izin yang diperlukan untuk mengakses sourceDirectory.

ArgumentException

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

PathTooLongException

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.

IOException

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

SharArchive

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

ArgumentNullException

directory adalah null.

SecurityException

Pemanggil tidak memiliki izin yang diperlukan untuk mengakses directory.

IOException

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

SharEntry

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

ArgumentNullException

name adalah null.

ArgumentException

name kosong.

ArgumentNullException

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

SharEntry

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

ArgumentNullException

sourcePath adalah null.

SecurityException

Pemanggil tidak memiliki izin yang diperlukan untuk mengakses.

ArgumentException

sourcePath kosong, hanya berisi spasi putih, atau mengandung karakter yang 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, pada platform berbasis Windows, jalur harus kurang dari 248 karakter, dan nama file harus kurang dari 260 karakter. - atau - name terlalu panjang untuk shar.

NotSupportedException

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

SharEntry

Instansi entri Shar.

Contoh

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

Pengecualian

ArgumentNullException

name adalah null.

ArgumentNullException

source adalah null.

ArgumentException

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

SharArchive

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 &gt; 1)
        archive.DeleteEntry(archive.Entries[0]);
    archive.Save(outputSharFile);
}

Pengecualian

ArgumentNullException

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

SharArchive

Arsip dengan entri yang dihapus.

Contoh

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

Pengecualian

ArgumentOutOfRangeException

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

ArgumentException

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.

ArgumentNullException

destinationFileName adalah null.

PathTooLongException

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.

DirectoryNotFoundException

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

IOException

Terjadi kesalahan I/O saat membuka file.

UnauthorizedAccessException

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.

NotSupportedException

destinationFileName dalam format yang tidak valid.

FileNotFoundException

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

ArgumentNullException

output adalah null.

ArgumentException

output tidak dapat ditulis. - atau - output adalah aliran yang sama dari mana kita mengekstrak.

 Indonesia