Class SharArchive

Class SharArchive

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

Ta klasa reprezentuje plik archiwum shar.

public class SharArchive : IDisposable

Dziedziczenie

objectSharArchive

Implementuje

IDisposable

Członkowie dziedziczeni

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

Konstruktory

SharArchive()

Inicjalizuje nową instancję klasy Aspose.Zip.Shar.SharArchive.

public SharArchive()

Przykłady

Poniższy przykład pokazuje, jak skompresować plik.

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

SharArchive(string)

Inicjalizuje nową instancję klasy Aspose.Zip.Shar.SharArchive przygotowaną do dekompresji.

public SharArchive(string path)

Parametry

path string

Ścieżka do źródła archiwum.

Wyjątki

ArgumentNullException

path jest null.

SecurityException

Wywołujący nie ma wymaganych uprawnień do dostępu.

ArgumentException

path jest pusty, zawiera tylko białe znaki lub zawiera nieprawidłowe znaki.

UnauthorizedAccessException

Dostęp do pliku path jest zabroniony.

PathTooLongException

Podana path, nazwa pliku lub obie przekraczają maksymalną długość zdefiniowaną przez system. Na przykład na platformach Windows, ścieżki muszą mieć mniej niż 248 znaków, a nazwy plików muszą mieć mniej niż 260 znaków.

NotSupportedException

Plik w path zawiera dwukropek (:) w środku ciągu.

FileNotFoundException

Plik nie został znaleziony.

DirectoryNotFoundException

Podana ścieżka jest nieprawidłowa, na przykład znajduje się na nieprzypisanym dysku.

IOException

Plik jest już otwarty.

Właściwości

Entries

Zwraca wpisy typu Aspose.Zip.Shar.SharEntry, które stanowią archiwum.

public ReadOnlyCollection<sharentry> Entries { get; }

Wartość właściwości

ReadOnlyCollection<SharEntry&gt;

Metody

CreateEntries(string, bool)

Dodaje do archiwum wszystkie pliki i katalogi rekurencyjnie w podanym katalogu.

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

Parametry

sourceDirectory string

Katalog do skompresowania.

includeRootDirectory bool

Określa, czy dołączyć sam katalog główny czy nie.

Zwraca

SharArchive

Instancja wpisu Shar.

Przykłady

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

Wyjątki

ArgumentNullException

sourceDirectory jest null.

SecurityException

Wywołujący nie ma wymaganych uprawnień do dostępu do sourceDirectory.

ArgumentException

sourceDirectory zawiera nieprawidłowe znaki, takie jak “, <, > lub |.

PathTooLongException

Podana ścieżka, nazwa pliku lub obie przekraczają maksymalną długość zdefiniowaną przez system. Na przykład na platformach Windows, ścieżki muszą mieć mniej niż 248 znaków, a nazwy plików muszą mieć mniej niż 260 znaków. Podana ścieżka, nazwa pliku lub obie są zbyt długie.

IOException

sourceDirectory odnosi się do pliku, a nie do katalogu.

CreateEntries(DirectoryInfo, bool)

Dodaje do archiwum wszystkie pliki i katalogi rekurencyjnie w podanym katalogu.

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

Parametry

directory DirectoryInfo

Katalog do skompresowania.

includeRootDirectory bool

Określa, czy dołączyć sam katalog główny czy nie.

Zwraca

SharArchive

Instancja wpisu Shar.

Przykłady

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

Wyjątki

ArgumentNullException

directory jest null.

SecurityException

Wywołujący nie ma wymaganych uprawnień do dostępu do directory.

IOException

directory odnosi się do pliku, a nie do katalogu.

CreateEntry(string, FileInfo, bool)

Tworzy pojedynczy wpis w archiwum.

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

Parametry

name string

Nazwa wpisu.

fileInfo FileInfo

Metadane pliku lub folderu do skompresowania.

openImmediately bool

Prawda, jeśli plik ma być otwarty natychmiast, w przeciwnym razie plik otworzy się podczas zapisywania archiwum.

Zwraca

SharEntry

Instancja wpisu Shar.

Przykłady

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

Uwagi

Jeśli plik jest otwierany natychmiast z parametrem openImmediately, zostaje zablokowany do momentu zniszczenia archiwum.

Wyjątki

ArgumentNullException

name jest null.

ArgumentException

name jest pusty.

ArgumentNullException

fileInfo jest null.

CreateEntry(string, string, bool)

Tworzy pojedynczy wpis w archiwum.

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

Parametry

name string

Nazwa wpisu.

sourcePath string

Ścieżka do pliku do skompresowania.

openImmediately bool

Prawda, jeśli plik ma być otwarty natychmiast, w przeciwnym razie plik otworzy się podczas zapisywania archiwum.

Zwraca

SharEntry

Instancja wpisu Shar.

Przykłady

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

Uwagi

Nazwa wpisu jest ustalana wyłącznie w parametrze name. Nazwa pliku podana w parametrze sourcePath nie wpływa na nazwę wpisu.

Jeśli plik jest otwierany natychmiast z parametrem openImmediately, zostaje zablokowany do momentu zniszczenia archiwum.

Wyjątki

ArgumentNullException

sourcePath jest null.

SecurityException

Wywołujący nie ma wymaganych uprawnień do dostępu.

ArgumentException

sourcePath jest pusty, zawiera tylko białe znaki lub zawiera nieprawidłowe znaki. - lub - Nazwa pliku, jako część name, przekracza 100 symboli.

UnauthorizedAccessException

Dostęp do pliku sourcePath jest zabroniony.

PathTooLongException

Podana sourcePath, nazwa pliku lub obie przekraczają maksymalną długość zdefiniowaną przez system. Na przykład na platformach Windows, ścieżki muszą mieć mniej niż 248 znaków, a nazwy plików muszą mieć mniej niż 260 znaków. - lub - name jest zbyt długie dla shar.

NotSupportedException

Plik w sourcePath zawiera dwukropek (:) w środku ciągu.

CreateEntry(string, Stream)

Tworzy pojedynczy wpis w archiwum.

public SharEntry CreateEntry(string name, Stream source)

Parametry

name string

Nazwa wpisu.

source Stream

Strumień wejściowy dla wpisu.

Zwraca

SharEntry

Instancja wpisu Shar.

Przykłady

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

Wyjątki

ArgumentNullException

name jest null.

ArgumentNullException

source jest null.

ArgumentException

name jest pusty.

DeleteEntry(SharEntry)

Usuwa pierwsze wystąpienie konkretnego wpisu z listy wpisów.

public SharArchive DeleteEntry(SharEntry entry)

Parametry

entry SharEntry

Wpis do usunięcia z listy wpisów.

Zwraca

SharArchive

Instancja wpisu Shar.

Przykłady

Oto jak możesz usunąć wszystkie wpisy oprócz ostatniego:

using (var archive = new SharArchive("archive.shar"))
{
    while (archive.Entries.Count &gt; 1)
        archive.DeleteEntry(archive.Entries[0]);
    archive.Save(outputSharFile);
}

Wyjątki

ArgumentNullException

entry jest null.

DeleteEntry(int)

Usuwa wpis z listy wpisów według indeksu.

public SharArchive DeleteEntry(int entryIndex)

Parametry

entryIndex int

Indeks zerobazowy wpisu do usunięcia.

Zwraca

SharArchive

Archiwum z usuniętym wpisem.

Przykłady

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

Wyjątki

ArgumentOutOfRangeException

entryIndex jest mniejszy niż 0.-lub- entryIndex jest równy lub większy niż Entries count.

Dispose(bool)

Wykonuje zadania zdefiniowane przez aplikację związane z zwalnianiem, uwalnianiem lub resetowaniem niezarządzanych zasobów.

protected virtual void Dispose(bool disposing)

Parametry

disposing bool

Określa, czy zarządzane zasoby powinny być zwolnione.

Dispose()

Wykonuje zadania zdefiniowane przez aplikację związane z zwalnianiem, uwalnianiem lub resetowaniem niezarządzanych zasobów.

public void Dispose()

Save(string)

Zapisuje archiwum do podanego pliku docelowego.

public void Save(string destinationFileName)

Parametry

destinationFileName string

Ścieżka archiwum do utworzenia. Jeśli podana nazwa pliku wskazuje na istniejący plik, zostanie on nadpisany.

Przykłady

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

Uwagi

Możliwe jest zapisanie archiwum w tej samej ścieżce, z której zostało załadowane. Jednak nie jest to zalecane, ponieważ to podejście wykorzystuje kopiowanie do pliku tymczasowego.

Wyjątki

ArgumentException

destinationFileName jest ciągiem o zerowej długości, zawiera tylko białe znaki lub zawiera jeden lub więcej nieprawidłowych znaków zdefiniowanych przez System.IO.Path.InvalidPathChars.

ArgumentNullException

destinationFileName jest null.

PathTooLongException

Podana destinationFileName, nazwa pliku lub obie przekraczają maksymalną długość zdefiniowaną przez system. Na przykład na platformach Windows, ścieżki muszą mieć mniej niż 248 znaków, a nazwy plików muszą mieć mniej niż 260 znaków.

DirectoryNotFoundException

Podana destinationFileName jest nieprawidłowa, (na przykład, znajduje się na nieprzypisanym dysku).

IOException

Wystąpił błąd I/O podczas otwierania pliku.

UnauthorizedAccessException

destinationFileName wskazuje na plik, który jest tylko do odczytu, a dostęp nie jest do odczytu.-lub- ścieżka wskazuje na katalog.-lub- Wywołujący nie ma wymaganych uprawnień.

NotSupportedException

destinationFileName jest w nieprawidłowym formacie.

FileNotFoundException

Plik nie został znaleziony.

Save(Stream)

Zapisuje archiwum do podanego strumienia.

public void Save(Stream output)

Parametry

output Stream

Strumień docelowy.

Przykłady

using (FileStream sharFile = File.Open("archive.shar", FileMode.Create))
{
    using (var archive = new SharArchive())
    {
        archive.CreateEntry("entry1", "data.bin");        
        archive.Save(sharFile);
    }
}

Uwagi

output musi być zapisywalny.

Wyjątki

ArgumentNullException

output jest null.

ArgumentException

output nie jest zapisywalny. - lub - output jest tym samym strumieniem, z którego wyodrębniamy.

 Polski