Class Archive
A név: Aspose.Zip Összefoglaló: Aspose.Zip.dll (25.5.0)
Ez az osztály egy zip archív fájlt képvisel. Használja, hogy készítsen, kivonja vagy frissítse a zip-fájlokat.
public class Archive : IArchive, IDisposable
Inheritance
Implements
Örökletes tagok
object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Constructors
Archive(ArchiveEntrySettings)
Kezdődik az Aspose.Zip.Archive osztály egy új példája opcionális beállításokkal a bejegyzéseihez.
public Archive(ArchiveEntrySettings newEntrySettings = null)
Parameters
newEntrySettings
ArchiveEntrySettings
Kompresszió és titkosítási beállítások használt az újonnan hozzáadott Aspose.Zip.ArchiveEntry elemeket.Ha nem szerepel, akkor a leggyakoribb Deflate kompresszió titkosítás nélkül használható.
Examples
Az alábbi példa azt mutatja, hogyan kell tömöríteni egy fájlt az alapértelmezett beállításokkal.
using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
using (var archive = new Archive())
{
archive.CreateEntry("data.bin", "file.dat");
archive.Save(zipFile);
}
}
Archive(Áramlat, ArchiveLoadOptions, ArchiveEntrySettings)
Kezdeményez egy új példát az Aspose.Zip.Archive osztály és készít egy bejegyzés listát lehet kivonni az archívumból.
public Archive(Stream sourceStream, ArchiveLoadOptions loadOptions = null, ArchiveEntrySettings newEntrySettings = null)
Parameters
sourceStream
Stream
Az archívum forrása.
loadOptions
ArchiveLoadOptions
A meglévő archívumok feltöltésének lehetőségei.
newEntrySettings
ArchiveEntrySettings
Kompresszió és titkosítási beállítások használt az újonnan hozzáadott Aspose.Zip.ArchiveEntry elemeket.Ha nem szerepel, akkor a leggyakoribb Deflate kompresszió titkosítás nélkül használható.
Examples
A következő példa titkosított archívumot szerez ki, majd az első bejegyzést a .
var fs = File.OpenRead("encrypted.zip");
var extracted = new MemoryStream();
using (Archive archive = new Archive(fs, new ArchiveLoadOptions() { DecryptionPassword = "p@s$" }))
{
using (var decompressed = archive.Entries[0].Open())
{
byte[] b = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(b, 0, b.Length)))
extracted.Write(b, 0, bytesRead);
}
}
Remarks
Ez az építő nem dekompresszi a bejegyzést. lásd Aspose.Zip.ArchiveEntry.Open(System.String) módszer dekompressziót.
Exceptions
sourceStream’ is not seekable.
Az AES titkosítója ellentétes a WinZip tömörítési módszerrel.
Archive(forrás, ArchiveLoadOptions, ArchiveEntrySettings)
Kezdeményez egy új példát az Aspose.Zip.Archive osztály és készít egy bejegyzés listát lehet kivonni az archívumból.
public Archive(string path, ArchiveLoadOptions loadOptions = null, ArchiveEntrySettings newEntrySettings = null)
Parameters
path
string
A teljes mértékben képzett vagy relatív út az archív fájlhoz.
loadOptions
ArchiveLoadOptions
A meglévő archívumok feltöltésének lehetőségei.
newEntrySettings
ArchiveEntrySettings
Kompresszió és titkosítási beállítások használt az újonnan hozzáadott Aspose.Zip.ArchiveEntry elemeket.Ha nem szerepel, akkor a leggyakoribb Deflate kompresszió titkosítás nélkül használható.
Examples
A következő példa titkosított archívumot szerez ki, majd az első bejegyzést a .
var extracted = new MemoryStream();
using (Archive archive = new Archive("encrypted.zip", new ArchiveLoadOptions() { DecryptionPassword = "p@s$" }))
{
using (var decompressed = archive.Entries[0].Open())
{
byte[] b = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(b, 0, b.Length)))
extracted.Write(b, 0, bytesRead);
}
}
Remarks
Ez az építő nem dekompresszi a bejegyzést. lásd Aspose.Zip.ArchiveEntry.Open(System.String) módszer dekompressziót.
Exceptions
path’ is null.
A hívó nem rendelkezik a szükséges hozzáférési engedélygel.
A path" üres, csak fehér helyeket tartalmaz, vagy nem érvényes karaktereket tartalmaz.
A path" fájlhoz való hozzáférés elutasításra kerül.
A meghatározott path", fájlnév, vagy mindkettő meghaladja a rendszer által meghatározott maximális hosszúságot. Például a Windows-alapú platformokon az útvonalnak kevesebbnek kell lennie, mint 248 karakter, és a fájlnévnek kevesebbnek kell lennie, mint 260 karakter.
A path’ fájl tartalmaz egy oszlopot (:) a sor közepén.
A fájlt nem találták meg.
A kijelölt út nem érvényes, például egy mappátlan vezérlésen.
A fájl már nyitva van.
A fájl korrupt.
Archive(A string, a string[], ArchiveLoadOptions)
Kezdeményez egy új példát az Aspose.Zip.Archive osztály a multi-volume zip archívum és összetétele egy bejegyzés listát lehet kivonni az archívumból.
public Archive(string mainSegment, string[] segmentsInOrder, ArchiveLoadOptions loadOptions = null)
Parameters
mainSegment
string
Út a multi-volume archívum utolsó szegmenséhez a központi címkével.
Általában ez a szegmens *.zip kiterjesztése és kisebb, mint mások.
segmentsInOrder
string
[]
Utazás minden szegmens, de az utolsó multi-volume zip archívum betartja a rendet.
Általában filename.z01, filename.z02, …, filename.z(n-1) nevet kaptak.
loadOptions
ArchiveLoadOptions
A meglévő archívumok feltöltésének lehetőségei.
Examples
Ez a minta három szegmensű archívumot ad ki egy címkéhez.
using (Archive a = new Archive("archive.zip", new string[] { "archive.z01", "archive.z02" }))
{
a.ExtractToDirectory("destination");
}
Exceptions
Nem lehet feltölteni a ZIP címkéket, mert a megadott fájlokat korrupt.
Properties
Entries
Kap bejegyzéseit Aspose.Zip.ArchiveEntry típus alkotja az archívumot.
public ReadOnlyCollection<archiveentry> Entries { get; }
ingatlan értéke
ReadOnlyCollection < ArchiveEntry >
NewEntrySettings
Kompresszió és titkosítási beállítások használt az újonnan hozzáadott Aspose.Zip.ArchiveEntry elemeket.
public ArchiveEntrySettings NewEntrySettings { get; }
ingatlan értéke
Methods
CreateEntries(Részletesebben Bool, Bool)
Adja meg az archívumban az összes fájlt és címkéket ismétlődően az adott címkén.
public Archive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true)
Parameters
directory
DirectoryInfo
A kompressziós kézikönyv.
includeRootDirectory
bool
Megmutatja, hogy magában foglalja-e a gyökérdirektorát vagy sem.
Returns
Az archívum összetett bejegyzésekkel rendelkezik.
Examples
using (Archive archive = new Archive())
{
DirectoryInfo folder = new DirectoryInfo("C:\folder");
archive.CreateEntries(folder);
archive.Save("folder.zip");
}
Exceptions
A directory" útvonal nem érvényes, például nem térképezett lemezre.
A hívó nem rendelkezik a directory’hoz való hozzáféréshez szükséges engedélygel.
CreateEntries(Szilveszter, Bool)
Adja meg az archívumban az összes fájlt és címkéket ismétlődően az adott címkén.
public Archive CreateEntries(string sourceDirectory, bool includeRootDirectory = true)
Parameters
sourceDirectory
string
A kompressziós kézikönyv.
includeRootDirectory
bool
Megmutatja, hogy magában foglalja-e a gyökérdirektorát vagy sem.
Returns
Az archívum összetett bejegyzésekkel rendelkezik.
Examples
using (Archive archive = new Archive())
{
archive.CreateEntries("C:\folder");
archive.Save("folder.zip");
}
CreateEntry(szál, szál, bool, ArchiveEntrySettings)
Hozzon létre egy egységes bejegyzést az archívumban.
public ArchiveEntry CreateEntry(string name, string path, bool openImmediately = false, ArchiveEntrySettings newEntrySettings = null)
Parameters
name
string
A bejárat neve.
path
string
Az új fájl teljes körű elszámoltathatósága, vagy az összehasonlító fájl neve.
openImmediately
bool
Igaz, ha azonnal megnyitja a fájlt, különben megnyitja a fájlt az archív mentés.
newEntrySettings
ArchiveEntrySettings
Kompresszió és titkosítási beállítások használt hozzáadott Aspose.Zip.ArchiveEntry elem.
Returns
Zip bejárati eljárás.
Examples
using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
using (var archive = new Archive())
{
archive.CreateEntry("data.bin", "file.dat");
archive.Save(zipFile);
}
}
Remarks
A paraméterben megadott fájl neve nem befolyásolja a bejegyzés nevét.
Ha a fájl azonnal megnyílik a paraméterrel, akkor az archívum mentéséig blokkolódik.
Exceptions
path’ is null.
A hívó nem rendelkezik a szükséges hozzáférési engedélygel.
A path" üres, csak fehér helyeket tartalmaz, vagy nem érvényes karaktereket tartalmaz.
A path" fájlhoz való hozzáférés elutasításra kerül.
A meghatározott path", fájlnév, vagy mindkettő meghaladja a rendszer által meghatározott maximális hosszúságot. Például a Windows-alapú platformokon az útvonalnak kevesebbnek kell lennie, mint 248 karakter, és a fájlnévnek kevesebbnek kell lennie, mint 260 karakter.
A path’ fájl tartalmaz egy oszlopot (:) a sor közepén.
CreateEntry(String, Áramlat, ArchiveEntrySettings)
Hozzon létre egy egységes bejegyzést az archívumban.
public ArchiveEntry CreateEntry(string name, Stream source, ArchiveEntrySettings newEntrySettings = null)
Parameters
name
string
A bejárat neve.
source
Stream
A belépési áram a belépéshez.
newEntrySettings
ArchiveEntrySettings
Kompresszió és titkosítási beállítások használt hozzáadott Aspose.Zip.ArchiveEntry elem.
Returns
Zip bejárati eljárás.
Examples
using (var archive = new Archive(new ArchiveEntrySettings(null, new AesEcryptionSettings("p@s$", EncryptionMethod.AES256))))
{
archive.CreateEntry("data.bin", new MemoryStream(new byte[] {0x00, 0xFF} ));
archive.Save("archive.zip");
}
CreateEntry(szalag, FileInfo, bool, ArchiveEntrySettings)
Hozzon létre egy egységes bejegyzést az archívumban.
public ArchiveEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, ArchiveEntrySettings newEntrySettings = null)
Parameters
name
string
A bejárat neve.
fileInfo
FileInfo
A fájl metadata nyomtatásra kerül.
openImmediately
bool
Igaz, ha azonnal megnyitja a fájlt, különben megnyitja a fájlt az archív mentés.
newEntrySettings
ArchiveEntrySettings
Kompresszió és titkosítási beállítások használt hozzáadott Aspose.Zip.ArchiveEntry elem.
Returns
Zip bejárati eljárás.
Examples
Készítsen archívumot a különböző titkosítási módszerekkel és jelszavakkal titkosított bejegyzésekkel.
using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
FileInfo fi1 = new FileInfo("data1.bin");
FileInfo fi2 = new FileInfo("data2.bin");
FileInfo fi3 = new FileInfo("data3.bin");
using (var archive = new Archive())
{
archive.CreateEntry("entry1.bin", fi1, false, new ArchiveEntrySettings(new DeflateCompressionSettings(), new TraditionalEncryptionSettings("pass1")));
archive.CreateEntry("entry2.bin", fi2, false, new ArchiveEntrySettings(new DeflateCompressionSettings(), new AesEcryptionSettings("pass2", EncryptionMethod.AES128)));
archive.CreateEntry("entry3.bin", fi3, false, new ArchiveEntrySettings(new DeflateCompressionSettings(), new AesEcryptionSettings("pass3", EncryptionMethod.AES256)));
archive.Save(zipFile);
}
}
Remarks
A paraméterben megadott fájl neve nem befolyásolja a bejegyzés nevét.
Ha a fájl azonnal megnyílik a paraméterrel, akkor az archívum mentéséig blokkolódik.
Exceptions
fileInfo’ is read-only or is a directory.
A kijelölt út nem érvényes, például egy mappátlan vezérlésen.
A fájl már nyitva van.
CreateEntry(szál, Stream, ArchiveEntrySettings, FileSystemInfo)
Hozzon létre egy egységes bejegyzést az archívumban.
public ArchiveEntry CreateEntry(string name, Stream source, ArchiveEntrySettings newEntrySettings, FileSystemInfo fileInfo)
Parameters
name
string
A bejárat neve.
source
Stream
A belépési áram a belépéshez.
newEntrySettings
ArchiveEntrySettings
Kompresszió és titkosítási beállítások használt hozzáadott Aspose.Zip.ArchiveEntry elem.
fileInfo
FileSystemInfo
A fájl vagy a mappa metadata nyomtatásra kerül.
Returns
Zip bejárati eljárás.
Examples
Készítsen archívumot titkosított bejegyzéssel.
using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
using (var archive = new Archive())
{
archive.CreateEntry("entry1.bin", new MemoryStream(new byte[] {0x00, 0xFF} ), new ArchiveEntrySettings(new DeflateCompressionSettings(), new TraditionalEncryptionSettings("pass1")), new FileInfo("data1.bin"));
archive.Save(zipFile);
}
}
Remarks
A paraméterben megadott fájl neve nem befolyásolja a bejegyzés nevét.
lehet hivatkozni a System.IO.DirectoryInfo, ha a bejegyzés a címkével.
Exceptions
Mind a source’ és a
fileInfo’ null vagy a
source’ null, és a
fileInfo’ a címkéhez tartozik.
CreateEntry(Részletesebben Func, ArchiveEntrySettings)
Hozzon létre egy egységes bejegyzést az archívumban.
public ArchiveEntry CreateEntry(string name, Func<stream> streamProvider, ArchiveEntrySettings newEntrySettings = null)
Parameters
name
string
A bejárat neve.
streamProvider
Func
<
Stream
>
A módszer, amely a bejárati áramot a bejárathoz nyújtja.
newEntrySettings
ArchiveEntrySettings
Kompresszió és titkosítási beállítások használt hozzáadott Aspose.Zip.ArchiveEntry elem.
Returns
Zip bejárati eljárás.
Examples
Készítsen archívumot titkosított bejegyzéssel.
System.Func<Stream> provider = delegate(){ return new MemoryStream(new byte[]{0xFF, 0x00}); };
using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
using (var archive = new Archive())
{
archive.CreateEntry("entry1.bin", provider, new ArchiveEntrySettings(new DeflateCompressionSettings(), new TraditionalEncryptionSettings("pass1"))));
archive.Save(zipFile);
}
}
Remarks
Ez a módszer a .NET Framework 4.0 és újabb verziójára, valamint a .NET Standard 2.0 verziójára vonatkozik.
DeleteEntry(ArchiveEntry)
Eltávolítja a konkrét bejegyzés első megjelenését a bejegyzéslistából.
public Archive DeleteEntry(ArchiveEntry entry)
Parameters
entry
ArchiveEntry
A bejegyzést a bejegyzési listából kell eltávolítani.
Returns
Az archívumot a bejárattal törölték.
Examples
Íme, hogyan lehet eltávolítani az összes bejegyzés kivéve az utolsó:
using (var archive = new Archive("archive.zip"))
{
while (archive.Entries.Count > 1)
archive.DeleteEntry(archive.Entries[0]);
archive.Save("last_entry.zip");
}
Exceptions
Az archívum megszűnt.
DeleteEntry(int)
Távolítsa el a bejegyzést a bejegyzési listából index szerint.
public Archive DeleteEntry(int entryIndex)
Parameters
entryIndex
int
A nulla-alapú index a bejárat eltávolítására.
Returns
Az archívumot a bejárattal törölték.
Examples
using (var archive = new TarArchive("two_files.zip"))
{
archive.DeleteEntry(0);
archive.Save("single_file.zip");
}
Exceptions
Az archívum megszűnt.
entryIndex’ is less than 0.-or-
entryIndex’ is equal to or greater than ‘Entries’ count.
Dispose()
Alkalmazás-meghatározott feladatokat végez, amelyek a nem kezelt erőforrások felszabadításával, felszabadításával vagy újrahasznosításával kapcsolatosak.
public void Dispose()
Dispose(Bóli)
Alkalmazás-meghatározott feladatokat végez, amelyek a nem kezelt erőforrások felszabadításával, felszabadításával vagy újrahasznosításával kapcsolatosak.
protected virtual void Dispose(bool disposing)
Parameters
disposing
bool
A kezelt erőforrások megszüntetésére van szükség.
ExtractToDirectory(A string)
Az archívumban lévő összes fájlt a megadott katalógusba kell kivonni.
public void ExtractToDirectory(string destinationDirectory)
Parameters
destinationDirectory
string
Az út a címkéhez, hogy a kivont fájlokat helyezze el.
Examples
using (var archive = new Archive("archive.zip"))
{
archive.ExtractToDirectory("C:\extracted");
}
Remarks
Ha a katalógus nem létezik, akkor létre kell hozni.
Exceptions
destinationDirectory’ is null.
A meghatározott útvonal, a fájl neve vagy mindkettő meghaladja a rendszer által meghatározott maximális hosszúságot. Például a Windows-alapú platformokon az útvonalaknak kevesebbnek kell lenniük, mint 248 karakter, és a fájlneveknek kevesebbnek kell lenniük, mint 260 karakter.
A hívó nem rendelkezik a meglévő címkéhez való hozzáféréshez szükséges engedéllyel.
Ha a kézikönyv nem létezik, az útvonal tartalmaz egy csomópont karaktert (:) amely nem része a lemez címkéjének (“C:”).
destinationDirectory’ is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters by using the System.IO.Path.GetInvalidPathChars method.-or- path is prefixed with, or contains, only a colon character (:).
Az útvonal által meghatározott kézikönyv egy fájl. -or- A hálózati név nem ismert.
Hiba jelszó érkezett. - vagy - Archive is corrupt.
Save(Áramlat, ArchiveSaveOptions)
Megtakarítja az archívumot a megadott áramláshoz.
public void Save(Stream outputStream, ArchiveSaveOptions saveOptions = null)
Parameters
outputStream
Stream
A cél áramlása.
saveOptions
ArchiveSaveOptions
Az archív megtakarítás lehetőségek.
Examples
using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
using (var archive = new Archive())
{
archive.CreateEntry("entry.bin", "data.bin");
archive.Save(zipFile);
}
}
Remarks
írásszerűnek kell lennie.
Exceptions
outputStream’ is not writable.
Az archívum megszűnt.
Save(Részletesebben ArchiveSaveOptions)
Az archívumot a megadott célfájlhoz mentheti.
public void Save(string destinationFileName, ArchiveSaveOptions saveOptions = null)
Parameters
destinationFileName
string
Ha a megadott fájl neve megjelöli a meglévő fájlt, átírásra kerül.
saveOptions
ArchiveSaveOptions
Az archív megtakarítás lehetőségek.
Examples
using (var archive = new Archive())
{
archive.CreateEntry("entry.bin", "data.bin");
archive.Save("archive.zip", new ArchiveSaveOptions() { Encoding = Encoding.ASCII });
}
Remarks
Az archívumot ugyanolyan úton lehet menteni, mint amilyenről letöltött. azonban ez nem ajánlott, mert ez a megközelítés egy ideiglenes fájlra másolja.
Exceptions
destinationFileName’ is null.
A hívó nem rendelkezik a szükséges hozzáférési engedélygel.
A destinationFileName’ üres, csak fehér helyeket tartalmaz, vagy nem érvényes karaktereket tartalmaz.
A destinationFileName" fájlhoz való hozzáférést elutasítják.
A meghatározott destinationFileName’, fájlnév, vagy mindkettő meghaladja a rendszer által meghatározott maximális hosszúságot.Például a Windows-alapú platformokon az útvonalnak kevesebbnek kell lennie, mint 248 karakter, és a fájlnévnek kevesebbnek kell lennie, mint 260 karakter.
A destinationFileName’ fájl tartalmaz egy oszlopot (:) a sor közepén.
A fájlt nem találták meg.
A kijelölt út nem érvényes, például egy mappátlan vezérlésen.
A fájl már nyitva van.
SaveSplit(szál, SplitArchiveSaveOptions)
Megtakarítja a multi-volume archívumot a megadott rendeltetési címkéhez.
public void SaveSplit(string destinationDirectory, SplitArchiveSaveOptions options)
Parameters
destinationDirectory
string
Az út a címkéhez, ahol az archív szegmenseket kell létrehozni.
options
SplitArchiveSaveOptions
Az archív tárolási lehetőségek, beleértve a fájlnevét is.
Examples
using (Archive archive = new Archive())
{
archive.CreateEntry("entry.bin", "data.bin");
archive.SaveSplit(@"C:\Folder", new SplitArchiveSaveOptions("volume", 65536));
}
Remarks
Ez a módszer több () fájlt alkot filename.z01, filename.z02, …, filename.z(n-1), filename.zip.
Nem lehet meglévő archívum multi-volume.
Exceptions
Ez az archívum a meglévő forrásból nyílik meg.
Ez az archívum mind XZ módszerrel kompresszált, mind titkosított.
destinationDirectory’ is null.
A hívó nem rendelkezik a szükséges hozzáférési engedéllyel a címkéhez.
destinationDirectory’ contains invalid characters such as “, >, <, or |.
A meghatározott útvonal meghaladja a rendszer által meghatározott maximális hosszát.
Az archívum megszűnt.