Class XarArchive
Namespace: Aspose.Zip.Xar
Assembly: Aspose.Zip.dll (25.1.0)
Ta klasa reprezentuje plik archiwum xar.
public class XarArchive : IArchive, 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
XarArchive(XarCompressionSettings)
Inicjalizuje nową instancję klasy Aspose.Zip.Xar.XarArchive.
public XarArchive(XarCompressionSettings defaultCompressionSettings = null)
Parametry
defaultCompressionSettings
XarCompressionSettings
Domyślne ustawienia kompresji, stosowane do wszystkich wpisów archiwum.
Przykłady
Przykład poniżej pokazuje, jak skompresować plik.
using (var archive = new XarArchive())
{
archive.CreateEntry("first.bin", "data.bin");
archive.Save("archive.xar");
}
XarArchive(Stream, XarLoadOptions)
Inicjalizuje nową instancję klasy Aspose.Zip.Xar.XarArchive i tworzy listę wpisów, które można wyodrębnić z archiwum.
public XarArchive(Stream sourceStream, XarLoadOptions loadOptions = null)
Parametry
sourceStream
Stream
Źródło archiwum. Musi być możliwe do przeszukiwania.
loadOptions
XarLoadOptions
Opcje do załadowania archiwum.
Przykłady
Przykład poniżej pokazuje, jak wyodrębnić wszystkie wpisy do katalogu.
using (var archive = new XarArchive(File.OpenRead("archive.xar")))
{
archive.ExtractToDirectory("C:\\extracted");
}
Uwagi
Ten konstruktor nie rozpakowuje żadnego wpisu. Zobacz metodę Aspose.Zip.Xar.XarFileEntry.Open, aby rozpakować.
Wyjątki
sourceStream
jest null.
sourceStream
nie jest możliwe do przeszukiwania.
sourceStream
nie jest prawidłowym archiwum xar.
XarArchive(string, XarLoadOptions)
Inicjalizuje nową instancję klasy Aspose.Zip.Xar.XarArchive i tworzy listę wpisów, które można wyodrębnić z archiwum.
public XarArchive(string path, XarLoadOptions loadOptions = null)
Parametry
path
string
Ścieżka do pliku archiwum.
loadOptions
XarLoadOptions
Opcje do załadowania archiwum.
Przykłady
Przykład poniżej pokazuje, jak wyodrębnić wszystkie wpisy do katalogu.
using (var archive = new XarArchive("archive.xar"))
{
archive.ExtractToDirectory("C:\\extracted");
}
Uwagi
Ten konstruktor nie rozpakowuje żadnego wpisu. Zobacz metodę Aspose.Zip.Xar.XarFileEntry.Open, aby rozpakować.
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.
Określona path
, nazwa pliku lub obie przekraczają maksymalną długość zdefiniowaną przez system. Na przykład na platformach opartych na 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.
Określona ścieżka jest nieprawidłowa, na przykład znajduje się na niezmapowanym dysku.
Plik jest już otwarty.
Plik w path
nie jest prawidłowym archiwum xar.
Właściwości
Entries
Zwraca wpisy typu Aspose.Zip.Xar.XarEntry, które stanowią archiwum.
public IEnumerable<xarentry> Entries { get; }
Wartość właściwości
IEnumerable<XarEntry>
Metody
CreateEntries(string, bool, XarCompressionSettings)
Dodaje do archiwum wszystkie pliki i katalogi rekurencyjnie w danym katalogu.
public XarArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true, XarCompressionSettings compressionSettings = null)
Parametry
sourceDirectory
string
Katalog do skompresowania.
includeRootDirectory
bool
Określa, czy dołączyć sam katalog główny, czy nie.
compressionSettings
XarCompressionSettings
Ustawienia kompresji używane dla dodanych elementów Aspose.Zip.Xar.XarEntry.
Zwraca
Instancja wpisu Xar.
Przykłady
using (FileStream xarFile = File.Open("archive.xar", FileMode.Create))
{
using (var archive = new XarArchive())
{
archive.CreateEntries(@"C:\folder", false);
archive.Save(xarFile);
}
}
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 |.
Określona ścieżka, nazwa pliku lub obie przekraczają maksymalną długość zdefiniowaną przez system. Na przykład na platformach opartych na Windows, ścieżki muszą mieć mniej niż 248 znaków, a nazwy plików muszą mieć mniej niż 260 znaków. Określona ścieżka, nazwa pliku lub obie są zbyt długie.
sourceDirectory
odnosi się do pliku, a nie katalogu.
CreateEntries(DirectoryInfo, bool, XarCompressionSettings)
Dodaje do archiwum wszystkie pliki i katalogi rekurencyjnie w danym katalogu.
public XarArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true, XarCompressionSettings compressionSettings = null)
Parametry
directory
DirectoryInfo
Katalog do skompresowania.
includeRootDirectory
bool
Określa, czy dołączyć sam katalog główny, czy nie.
compressionSettings
XarCompressionSettings
Ustawienia kompresji używane dla dodanych elementów Aspose.Zip.Xar.XarEntry.
Zwraca
Instancja wpisu Xar.
Przykłady
using (FileStream xarFile = File.Open("archive.xar", FileMode.Create))
{
using (var archive = new XarArchive())
{
archive.CreateEntries(new DirectoryInfo(@"C:\folder"), false);
archive.Save(xarFile);
}
}
Wyjątki
directory
jest null.
Wywołujący nie ma wymaganych uprawnień do dostępu do directory
.
directory
odnosi się do pliku, a nie katalogu.
CreateEntry(string, FileInfo, bool, XarCompressionSettings)
Tworzy pojedynczy wpis w archiwum.
public XarEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, XarCompressionSettings compressionSettings = null)
Parametry
name
string
Nazwa wpisu.
fileInfo
FileInfo
Metadane pliku lub folderu do skompresowania.
openImmediately
bool
Prawda, jeśli otworzyć plik natychmiast, w przeciwnym razie otwórz plik przy zapisywaniu archiwum.
compressionSettings
XarCompressionSettings
Ustawienia kompresji używane dla dodanego elementu Aspose.Zip.Xar.XarEntry.
Zwraca
Instancja wpisu Xar.
Przykłady
FileInfo fileInfo = new FileInfo("data.bin");
using (var archive = new XarArchive())
{
archive.CreateEntry("test.bin", fileInfo);
archive.Save("archive.xar");
}
Uwagi
Jeśli plik jest otwierany natychmiast z parametrem openImmediately
, zostaje zablokowany do czasu zwolnienia archiwum.
Wyjątki
name
jest null.
name
jest pusty.
fileInfo
jest null.
CreateEntry(string, string, bool, XarCompressionSettings)
Tworzy pojedynczy wpis w archiwum.
public XarEntry CreateEntry(string name, string sourcePath, bool openImmediately = false, XarCompressionSettings compressionSettings = null)
Parametry
name
string
Nazwa wpisu.
sourcePath
string
Ścieżka do pliku do skompresowania.
openImmediately
bool
Prawda, jeśli otworzyć plik natychmiast, w przeciwnym razie otwórz plik przy zapisywaniu archiwum.
compressionSettings
XarCompressionSettings
Ustawienia kompresji używane dla dodanego elementu Aspose.Zip.Xar.XarEntry.
Zwraca
Instancja wpisu Xar.
Przykłady
using (var archive = new XarArchive())
{
archive.CreateEntry("first.bin", "data.bin");
archive.Save("archive.xar");
}
Uwagi
Nazwa wpisu jest ustawiana 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 czasu zwolnienia 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.
Określona sourcePath
, nazwa pliku lub obie przekraczają maksymalną długość zdefiniowaną przez system. Na przykład na platformach opartych na 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 xar.
Plik w sourcePath
zawiera dwukropek (:) w środku ciągu.
Nie można modyfikować archiwum xar.
CreateEntry(string, Stream, XarCompressionSettings)
Tworzy pojedynczy wpis w archiwum.
public XarEntry CreateEntry(string name, Stream source, XarCompressionSettings compressionSettings = null)
Parametry
name
string
Nazwa wpisu.
source
Stream
Strumień wejściowy dla wpisu.
compressionSettings
XarCompressionSettings
Ustawienia kompresji używane dla dodanego elementu Aspose.Zip.Xar.XarEntry.
Zwraca
Instancja wpisu Xar.
Przykłady
using (var archive = new XarArchive())
{
archive.CreateEntry("data.bin", File.OpenRead("data.bin"));
archive.Save("archive.xar");
}
Wyjątki
name
jest null.
source
jest null.
name
jest pusty.
Nie można modyfikować archiwum xar.
DeleteEntry(XarEntry)
Usuwa pierwsze wystąpienie konkretnego wpisu z listy wpisów.
public XarArchive DeleteEntry(XarEntry entry)
Parametry
entry
XarEntry
Wpis do usunięcia z listy wpisów.
Zwraca
Instancja wpisu Xar.
Przykłady
Oto jak możesz usunąć wszystkie wpisy z wyjątkiem ostatniego:
using (var archive = new XarArchive("archive.xar"))
{
while (archive.Entries.Count > 1)
archive.DeleteEntry(archive.Entries.FirstOrDefault());
archive.Save(outputXarFile);
}
Wyjątki
entry
jest null.
Dispose()
Wykonuje zadania zdefiniowane przez aplikację związane z zwalnianiem, uwalnianiem lub resetowaniem niezarządzanych zasobów.
public void Dispose()
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 zasoby zarządzane powinny być zwolnione.
ExtractToDirectory(string)
Wyodrębnia wszystkie pliki w archiwum do podanego katalogu.
public void ExtractToDirectory(string destinationDirectory)
Parametry
destinationDirectory
string
Ścieżka do katalogu, w którym mają być umieszczone wyodrębnione pliki.
Przykłady
using (var archive = new XarArchive("archive.xar"))
{
archive.ExtractToDirectory("C:\\extracted");
}
Uwagi
Jeśli katalog nie istnieje, zostanie utworzony.
Wyjątki
path jest null
Określona ścieżka, nazwa pliku lub obie przekraczają maksymalną długość zdefiniowaną przez system. Na przykład na platformach opartych na Windows, ścieżki muszą mieć mniej niż 248 znaków, a nazwy plików muszą mieć mniej niż 260 znaków.
Wywołujący nie ma wymaganych uprawnień do dostępu do istniejącego katalogu.
Jeśli katalog nie istnieje, ścieżka zawiera znak dwukropka (:) który nie jest częścią etykiety dysku (“C:").
Ścieżka jest ciągiem o zerowej długości, zawiera tylko białe znaki lub zawiera jeden lub więcej nieprawidłowych znaków. Możesz zapytać o nieprawidłowe znaki, używając metody System.IO.Path.GetInvalidPathChars. - lub - ścieżka jest prefiksowana lub zawiera tylko znak dwukropka (:).
Katalog określony przez ścieżkę jest plikiem. - lub - Nazwa sieci nie jest znana.
Archiwum jest uszkodzone.
Save(string, XarSaveOptions)
Zapisuje archiwum do podanego pliku docelowego.
public void Save(string destinationFileName, XarSaveOptions saveOptions = null)
Parametry
destinationFileName
string
Ścieżka archiwum, które ma zostać utworzone. Jeśli określona nazwa pliku wskazuje na istniejący plik, zostanie on nadpisany.
saveOptions
XarSaveOptions
Opcje do zapisania archiwum xar.
Wyjątki
destinationFileName
jest null.
Nie można modyfikować archiwum xar.
Save(Stream, XarSaveOptions)
Zapisuje archiwum do podanego strumienia.
public void Save(Stream output, XarSaveOptions saveOptions = null)
Parametry
output
Stream
Strumień docelowy.
saveOptions
XarSaveOptions
Opcje do zapisania archiwum xar.
Wyjątki
output
jest null.
output
nie jest zapisywalny/odczytywalny lub nie jest możliwe do przeszukiwania.
Nie można modyfikować archiwum xar.