Class SharArchive
Namespace: Aspose.Zip.Shar
Assembly: Aspose.Zip.dll (25.1.0)
Ta klasa reprezentuje plik archiwum shar.
public class SharArchive : IDisposable
Dziedziczenie
Implementuje
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
path
jest null.
Wywołujący nie ma wymaganych uprawnień do dostępu.
path
jest pusty, zawiera tylko białe znaki lub zawiera nieprawidłowe znaki.
Dostęp do pliku path
jest zabroniony.
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.
Plik w path
zawiera dwukropek (:) w środku ciągu.
Plik nie został znaleziony.
Podana ścieżka jest nieprawidłowa, na przykład znajduje się na nieprzypisanym dysku.
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>
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
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
sourceDirectory
jest null.
Wywołujący nie ma wymaganych uprawnień do dostępu do sourceDirectory
.
sourceDirectory
zawiera nieprawidłowe znaki, takie jak “, <, > lub |.
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.
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
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
directory
jest null.
Wywołujący nie ma wymaganych uprawnień do dostępu do directory
.
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
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
name
jest null.
name
jest pusty.
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
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
sourcePath
jest null.
Wywołujący nie ma wymaganych uprawnień do dostępu.
sourcePath
jest pusty, zawiera tylko białe znaki lub zawiera nieprawidłowe znaki. - lub - Nazwa pliku, jako część name
, przekracza 100 symboli.
Dostęp do pliku sourcePath
jest zabroniony.
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.
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
Instancja wpisu Shar.
Przykłady
using (var archive = new SharArchive())
{
archive.CreateEntry("data.bin", File.OpenRead("data.bin"));
archive.Save("archive.shar");
}
Wyjątki
name
jest null.
source
jest null.
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
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 > 1)
archive.DeleteEntry(archive.Entries[0]);
archive.Save(outputSharFile);
}
Wyjątki
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
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
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
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.
destinationFileName
jest null.
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.
Podana destinationFileName
jest nieprawidłowa, (na przykład, znajduje się na nieprzypisanym dysku).
Wystąpił błąd I/O podczas otwierania pliku.
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ń.
destinationFileName
jest w nieprawidłowym formacie.
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
output
jest null.
output
nie jest zapisywalny. - lub - output
jest tym samym strumieniem, z którego wyodrębniamy.