Class SevenZipArchive

Class SevenZipArchive

A név: Aspose.Zip.SevenZip Összefoglaló: Aspose.Zip.dll (25.5.0)

Ez az osztály a 7z archív fájlt képviseli. használja a 7z archívumok összeállításához és kivonásához.

public class SevenZipArchive : IArchive, IDisposable

Inheritance

object SevenZipArchive

Implements

IArchive , IDisposable

Örökletes tagok

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

Constructors

SevenZipArchive(SevenZipEntrySettings)

Kezdődik az Aspose.Zip.SevenZip.SevenZipArchive osztály egy új példája a bejegyzések opcionális beállításaival.

public SevenZipArchive(SevenZipEntrySettings newEntrySettings = null)

Parameters

newEntrySettings SevenZipEntrySettings

Kompresszió és titkosítási beállítások használt az újonnan hozzáadott Aspose.Zip.SevenZip.SevenZipArchiveEntry elemeket.Ha nem szerepel, akkor az LZMA tömörítés titkosítás nélkül használható.

Examples

Az alábbi példa azt mutatja, hogyan kell tömöríteni egy egyes fájlt az alapértelmezett beállításokkal: LZMA-kompresszió titkosítás nélkül.

using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
    using (var archive = new SevenZipArchive())
    {
        archive.CreateEntry("data.bin", "file.dat");
        archive.Save(sevenZipFile);
    }
}

SevenZipArchive(Áramlás, string)

Kezdeményez egy új példát az Aspose.Zip.SevenZip.SevenZipArchive osztály és készíti a bejegyzési listát lehet kivonni az archívumból.

public SevenZipArchive(Stream sourceStream, string password = null)

Parameters

sourceStream Stream

Az archívum forrása.

password string

Opcionális jelszó a dekódoláshoz. ha a fájlnevek titkosítva vannak, akkor jelen kell lennie.

Examples

using (SevenZipArchive archive = new SevenZipArchive(File.OpenRead("archive.7z")))
{
    archive.ExtractToDirectory("C:\\extracted");
}

Remarks

Ez az építő nem dekompresszi a bejegyzést. lásd Aspose.Zip.SevenZip.SevenZipArchive.ExtractToDirectory(System.String,System.String) dekompressziós módszer.

Exceptions

ArgumentException

sourceStream’ is not seekable.

ArgumentNullException

sourceStream’ is null.

NotImplementedException

Az archívum több mint egy kódoló. most csak LZMA tömörítés támogatott.

SevenZipArchive(A string, a string)

Kezdeményez egy új példát az Aspose.Zip.SevenZip.SevenZipArchive osztály és készíti a bejegyzési listát lehet kivonni az archívumból.

public SevenZipArchive(string path, string password = null)

Parameters

path string

A teljes mértékben képzett vagy relatív út az archív fájlhoz.

password string

Opcionális jelszó a dekódoláshoz. ha a fájlnevek titkosítva vannak, akkor jelen kell lennie.

Examples

using (SevenZipArchive archive = new SevenZipArchive("archive.7z"))
{
    archive.ExtractToDirectory("C:\\extracted");
}

Remarks

Ez az építő nem dekompresszi a bejegyzést. lásd Aspose.Zip.SevenZip.SevenZipArchive.ExtractToDirectory(System.String,System.String) dekompressziós módszer.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

A hívó nem rendelkezik a szükséges hozzáférési engedélygel.

ArgumentException

A path" üres, csak fehér helyeket tartalmaz, vagy nem érvényes karaktereket tartalmaz.

UnauthorizedAccessException

A path" fájlhoz való hozzáférés elutasításra kerül.

PathTooLongException

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.

NotSupportedException

A path’ fájl tartalmaz egy oszlopot (:) a sor közepén.

FileNotFoundException

A fájlt nem találták meg.

DirectoryNotFoundException

A kijelölt út nem érvényes, például egy mappátlan vezérlésen.

IOException

A fájl már nyitva van.

SevenZipArchive(A string[], A string)

Kezdeményez egy új példát az Aspose.Zip.SevenZip.SevenZipArchive osztály a multi-volume 7z archívum és összetétele egy bejegyzés listát lehet kivonni az archívumból.

public SevenZipArchive(string[] parts, string password = null)

Parameters

parts string []

Lépések minden szegmens multi-volume 7z archív tiszteletben tartja a rendet

password string

Opcionális jelszó a dekódoláshoz. ha a fájlnevek titkosítva vannak, akkor jelen kell lennie.

Examples

using (SevenZipArchive archive = new SevenZipArchive(new string[] { "multi.7z.001", "multi.7z.002", "multi.7z.003" }))
{
    archive.ExtractToDirectory("C:\\extracted");
}

Exceptions

ArgumentNullException

parts’ is null.

ArgumentException

parts’ has no entries.

SecurityException

A hívó nem rendelkezik a szükséges hozzáférési engedélygel.

ArgumentException

A fájlhoz vezető út üres, csak fehér helyeket tartalmaz, vagy nem érvényes karaktereket tartalmaz.

UnauthorizedAccessException

A fájlhoz való hozzáférés megtagadható.

PathTooLongException

A meghatározott útvonal egy részre, fájlnévre vagy mindkettőre 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.

NotSupportedException

Az útvonalon lévő fájl tartalmaz egy oszlopot (:) a szalag közepén.

Properties

Entries

Kap bejegyzéseit Aspose.Zip.SevenZip.SevenZipArchiveEntry típus alkotja az archívumot.

public ReadOnlyCollection<sevenziparchiveentry> Entries { get; }

ingatlan értéke

ReadOnlyCollection < SevenZipArchiveEntry >

NewEntrySettings

Kompresszió és titkosítási beállítások használt az újonnan hozzáadott Aspose.Zip.SevenZip.SevenZipArchiveEntry elemeket.

public SevenZipEntrySettings NewEntrySettings { get; }

ingatlan értéke

SevenZipEntrySettings

Methods

CreateEntries(Részletesebben Bool, Bool)

Hozzáadja az archívumhoz az összes fájlt és címkéket az adott címkében ismétlődően.

public SevenZipArchive 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

SevenZipArchive

Az archívum összetett bejegyzésekkel rendelkezik.

Examples

using (SevenZipArchive archive = new SevenZipArchive())
{
    DirectoryInfo folder = new DirectoryInfo("C:\folder");
    archive.CreateEntries(folder);
    archive.Save("folder.7z");
}

Exceptions

DirectoryNotFoundException

A directory" útvonal nem érvényes, például nem térképezett lemezre.

SecurityException

A hívó nem rendelkezik a directory’hoz való hozzáféréshez szükséges engedélygel.

CreateEntries(Szilveszter, Bool)

Hozzáadja az archívumhoz az összes fájlt és címkéket az adott címkében ismétlődően.

public SevenZipArchive 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

SevenZipArchive

Az archívum összetett bejegyzésekkel rendelkezik.

Examples

Összetett 7z archívum LZMA2 tömörítéssel.

using (SevenZipArchive archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMACompressionSettings())))
{
    archive.CreateEntries("C:\folder");
    archive.Save("folder.7z");
}

CreateEntry(szalag, FileInfo, bool, SevenZipEntrySettings)

Hozzon létre egy egységes bejegyzést az archívumban.

public SevenZipArchiveEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, SevenZipEntrySettings 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 SevenZipEntrySettings

Kompresszió és titkosítási beállítások használt hozzáadott Aspose.Zip.SevenZip.SevenZipArchiveEntry elem.

Returns

SevenZipArchiveEntry

Hét Zip bejárat.

Examples

Készítsen archívumot a különböző jelszavakkal titkosított bejegyzésekkel.

using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
    FileInfo fi1 = new FileInfo("data1.bin");
    FileInfo fi2 = new FileInfo("data2.bin");
    FileInfo fi3 = new FileInfo("data3.bin");
    using (var archive = new SevenZipArchive())
    {
        archive.CreateEntry("entry1.bin", fi1, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test1")));
        archive.CreateEntry("entry2.bin", fi2, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test2")));
        archive.CreateEntry("entry3.bin", fi3, false, new SevenZipEntrySettings(new SevenZipStoreCompressionSettings(), new SevenZipAESEncryptionSettings("test3")));
        archive.Save(sevenZipFile);
    }
}

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

UnauthorizedAccessException

fileInfo’ is read-only or is a directory.

DirectoryNotFoundException

A kijelölt út nem érvényes, például egy mappátlan vezérlésen.

IOException

A fájl már nyitva van.

CreateEntry(szalag, Stream, SevenZipEntrySettings, FileSystemInfo)

Hozzon létre egy egységes bejegyzést az archívumban.

public SevenZipArchiveEntry CreateEntry(string name, Stream source, SevenZipEntrySettings newEntrySettings, FileSystemInfo fileInfo)

Parameters

name string

A bejárat neve.

source Stream

A belépési áram a belépéshez.

newEntrySettings SevenZipEntrySettings

Kompresszió és titkosítási beállítások használt hozzáadott Aspose.Zip.SevenZip.SevenZipArchiveEntry elem.

fileInfo FileSystemInfo

A fájl vagy a mappa metadata nyomtatásra kerül.

Returns

SevenZipArchiveEntry

A 7Zip bejárati beállítása.

Examples

Készítsen archívumot az LZMA2 tömörített titkosított bejegyzéssel.

using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
    using (var archive = new SevenZipArchive())
    {
        archive.CreateEntry("entry1.bin", new MemoryStream(new byte[] {0x00, 0xFF}), new SevenZipEntrySettings(new SevenZipLZMA2CompressionSettings(), new SevenZipAESEncryptionSettings("test1")), new FileInfo("data1.bin")); 
        archive.Save(sevenZipFile);
    }
}

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

InvalidOperationException

Mind a source’ és a fileInfo’ null vagy a source’ null, és a fileInfo’ a címkéhez tartozik.

CreateEntry(szalag, Stream, SevenZipEntrySettings)

Hozzon létre egy egységes bejegyzést az archívumban.

public SevenZipArchiveEntry CreateEntry(string name, Stream source, SevenZipEntrySettings newEntrySettings = null)

Parameters

name string

A bejárat neve.

source Stream

A belépési áram a belépéshez.

newEntrySettings SevenZipEntrySettings

Kompresszió és titkosítási beállítások használt hozzáadott Aspose.Zip.SevenZip.SevenZipArchiveEntry elem.

Returns

SevenZipArchiveEntry

Zip bejárati eljárás.

Examples

Összetétel 7z archívum LZMA2 tömörítés és titkosítás minden bejegyzés.

using (var archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMA2CompressionSettings(), new SevenZipAESEncryptionSettings("p@s$"))))
{
    archive.CreateEntry("data.bin", new MemoryStream(new byte[] {0x00, 0xFF} ));
    archive.Save("archive.7z");
}

CreateEntry(szalag, szalag, bool, SevenZipEntrySettings)

Hozzon létre egy egységes bejegyzést az archívumban.

public SevenZipArchiveEntry CreateEntry(string name, string path, bool openImmediately = false, SevenZipEntrySettings 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 SevenZipEntrySettings

Kompresszió és titkosítási beállítások használt hozzáadott Aspose.Zip.SevenZip.SevenZipArchiveEntry elem.

Returns

SevenZipArchiveEntry

Zip bejárati eljárás.

Examples

using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
    using (var archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMA2CompressionSettings())))
    {
        archive.CreateEntry("data.bin", "file.dat");
        archive.Save(sevenZipFile);
    }
}

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

ArgumentNullException

path’ is null.

SecurityException

A hívó nem rendelkezik a szükséges hozzáférési engedélygel.

ArgumentException

A path" üres, csak fehér helyeket tartalmaz, vagy nem érvényes karaktereket tartalmaz.

UnauthorizedAccessException

A path" fájlhoz való hozzáférés elutasításra kerül.

PathTooLongException

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.

NotSupportedException

A path’ fájl tartalmaz egy oszlopot (:) a sor közepén.

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, a string)

Az archívumban lévő összes fájlt a megadott katalógusba kell kivonni.

public void ExtractToDirectory(string destinationDirectory, string password = null)

Parameters

destinationDirectory string

Az út a címkéhez, hogy a kivont fájlokat helyezze el.

password string

Opcionális jelszó a tartalom dekódolásához.

Examples

using (var archive = new SevenZipArchive("archive.7z")) 
{ 
   archive.ExtractToDirectory("C:\extracted");
}

Remarks

Ha a katalógus nem létezik, akkor létre kell hozni.

Ha a fájlnéveket titkosítják, adja meg a jelszót a Aspose.Zip.SevenZop.Negyedik ZipArchive.#ctor(System.String,Systems. String) vagy a www.Wl51.Tyededik zip-archivum.

Exceptions

ArgumentNullException

destinationDirectory’ is null.

PathTooLongException

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.

SecurityException

A hívó nem rendelkezik a meglévő címkéhez való hozzáféréshez szükséges engedéllyel.

NotSupportedException

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:”).

ArgumentException

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 (:).

IOException

Az útvonal által meghatározott kézikönyv egy fájl. -or- A hálózati név nem ismert.

InvalidDataException

Az archívum korrupt.

Save(Stream)

Megtakarítja a 7z archívumot a rendelkezésre álló áramláshoz.

public void Save(Stream output)

Parameters

output Stream

A cél áramlása.

Examples

using (FileStream sevenZipFile = File.Open("archive.7z", FileMode.Create))
{
  using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
  {
    using (var archive = new SevenZipArchive())
    {
      archive.CreateEntry("data", source);
      archive.Save(sevenZipFile);
    }
  }
}

Remarks

kereshetőnek kell lennie.

Exceptions

ArgumentException

output’ does not support seeking.

ArgumentNullException

output’ is null.

InvalidOperationException

A kódoló nem tudta komprimálni az adatokat.

Save(A string)

Adja meg az archívumot a megadott célfájlra.

public void Save(string destinationFileName)

Parameters

destinationFileName string

Ha a megadott fájl neve megjelöli a meglévő fájlt, átírásra kerül.

Examples

using (FileStream source = File.Open("data.bin", FileMode.Open, FileAccess.Read))
{
   using (var archive = new SevenZipArchive(new SevenZipEntrySettings(new SevenZipLZMACompressionSettings())))
   {
      archive.CreateEntry("data", source);
      archive.Save("archive.7z");
   }
}

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

ArgumentNullException

destinationFileName’ is null.

SecurityException

A hívó nem rendelkezik a szükséges hozzáférési engedélygel.

ArgumentException

A destinationFileName’ üres, csak fehér helyeket tartalmaz, vagy nem érvényes karaktereket tartalmaz.

UnauthorizedAccessException

A destinationFileName" fájlhoz való hozzáférést elutasítják.

PathTooLongException

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.

NotSupportedException

A destinationFileName’ fájl tartalmaz egy oszlopot (:) a sor közepén.

SaveSplit(szál, SplitSevenZipArchiveSaveOptions)

Megtakarítja a multi-volume archívumot a megadott rendeltetési címkéhez.

public void SaveSplit(string destinationDirectory, SplitSevenZipArchiveSaveOptions options)

Parameters

destinationDirectory string

Az út a címkéhez, ahol az archív szegmenseket kell létrehozni.

options SplitSevenZipArchiveSaveOptions

Az archív tárolási lehetőségek, beleértve a fájlnevét is.

Examples

using (SevenZipArchive archive = new SevenZipArchive())
{
    archive.CreateEntry("entry.bin", "data.bin");
    archive.SaveSplit(@"C:\Folder",  new SplitSevenZipArchiveSaveOptions("volume", 65536));
}

Remarks

Ez a módszer több () fájlt tartalmaz filename.7z.001, filename.7z.002, …, filename.7z.(n).

Nem lehet meglévő archívum multi-volume.

Exceptions

InvalidOperationException

Ez az archívum a meglévő forrásból nyílik meg.

ArgumentNullException

destinationDirectory’ is null.

SecurityException

A hívó nem rendelkezik a szükséges hozzáférési engedéllyel a címkéhez.

ArgumentException

destinationDirectory’ contains invalid characters such as “, >, <, or |.

PathTooLongException

A meghatározott útvonal meghaladja a rendszer által meghatározott maximális hosszát.

 Magyar