Class Archive

Class Archive

Το όνομα: Aspose.Zip Συγκέντρωση: Aspose.Zip.dll (25.5.0)

Αυτή η κατηγορία αντιπροσωπεύει ένα αρχείο αρχείου zip. Χρησιμοποιήστε το για να συνθέσετε, να εξαγάγετε ή να ενημερώσετε τα αρχεία zip .

public class Archive : IArchive, IDisposable

Inheritance

object Archive

Implements

IArchive , IDisposable

Κληρονομημένα μέλη

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

Constructors

Archive(ArchiveEntrySettings)

Αρχίζει μια νέα περίπτωση της κατηγορίας Aspose.Zip.Archive με προαιρετικές ρυθμίσεις για τις εγγραφές της.

public Archive(ArchiveEntrySettings newEntrySettings = null)

Parameters

newEntrySettings ArchiveEntrySettings

Οι ρυθμίσεις συμπίεσης και κρυπτογράφησης που χρησιμοποιούνται για πρόσφατα προστιθέμενα στοιχεία Aspose.Zip.ArchiveEntry.Εάν δεν καθοριστεί, θα χρησιμοποιηθεί η πιο κοινή συμπίεση Deflate χωρίς κρυπτογράφηση.

Examples

Το παρακάτω παράδειγμα δείχνει πώς να συμπιέσετε ένα μόνο αρχείο με προεπιλεγμένες ρυθμίσεις.

using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
    using (var archive = new Archive())
    {
        archive.CreateEntry("data.bin", "file.dat");
        archive.Save(zipFile);
    }
}

Archive(Σύνδεση, ArchiveLoadOptions, ArchiveEntrySettings)

Αρχίζει μια νέα περίπτωση της κατηγορίας Aspose.Zip.Archive και συνθέτει μια λίστα εισόδου που μπορεί να αφαιρεθεί από το αρχείο.

public Archive(Stream sourceStream, ArchiveLoadOptions loadOptions = null, ArchiveEntrySettings newEntrySettings = null)

Parameters

sourceStream Stream

Η πηγή των αρχείων.

loadOptions ArchiveLoadOptions

Επιλογές για να φορτώσετε τα υπάρχοντα αρχεία με.

newEntrySettings ArchiveEntrySettings

Οι ρυθμίσεις συμπίεσης και κρυπτογράφησης που χρησιμοποιούνται για πρόσφατα προστιθέμενα στοιχεία Aspose.Zip.ArchiveEntry.Εάν δεν καθοριστεί, θα χρησιμοποιηθεί η πιο κοινή συμπίεση Deflate χωρίς κρυπτογράφηση.

Examples

Το παρακάτω παράδειγμα εξάγει ένα κρυπτογραφημένο αρχείο, στη συνέχεια αποσπά την πρώτη εισαγωγή σε ένα .

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

Αυτός ο κατασκευαστής δεν καταστρέφει οποιαδήποτε είσοδο. Βλέπε Aspose.Zip.ArchiveEntry.Open(System.String) μέθοδος για την καταστρέψιση.

Exceptions

ArgumentException

sourceStream’ is not seekable.

InvalidDataException

Ο επικεφαλής κρυπτογράφησης για το AES αντιτίθεται στη μέθοδο συμπίεσης WinZip.

Archive(Σύνδεσμος, ArchiveLoadOptions, ArchiveEntrySettings)

Αρχίζει μια νέα περίπτωση της κατηγορίας Aspose.Zip.Archive και συνθέτει μια λίστα εισόδου που μπορεί να αφαιρεθεί από το αρχείο.

public Archive(string path, ArchiveLoadOptions loadOptions = null, ArchiveEntrySettings newEntrySettings = null)

Parameters

path string

Το πλήρως ειδικευμένο ή το σχετικό μονοπάτι στο αρχείο.

loadOptions ArchiveLoadOptions

Επιλογές για να φορτώσετε τα υπάρχοντα αρχεία με.

newEntrySettings ArchiveEntrySettings

Οι ρυθμίσεις συμπίεσης και κρυπτογράφησης που χρησιμοποιούνται για πρόσφατα προστιθέμενα στοιχεία Aspose.Zip.ArchiveEntry.Εάν δεν καθοριστεί, θα χρησιμοποιηθεί η πιο κοινή συμπίεση Deflate χωρίς κρυπτογράφηση.

Examples

Το παρακάτω παράδειγμα εξάγει ένα κρυπτογραφημένο αρχείο, στη συνέχεια αποσπά την πρώτη εισαγωγή σε ένα .

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

Αυτός ο κατασκευαστής δεν καταστρέφει οποιαδήποτε είσοδο. Βλέπε Aspose.Zip.ArchiveEntry.Open(System.String) μέθοδος για την καταστρέψιση.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Ο κάτοχος δεν έχει την απαιτούμενη άδεια πρόσβασης.

ArgumentException

Το path’ είναι άδειο, περιέχει μόνο λευκούς χώρους, ή περιέχει άκυρους χαρακτήρες.

UnauthorizedAccessException

Η πρόσβαση στο αρχείο path" αρνείται.

PathTooLongException

Το καθορισμένο path’, όνομα αρχείου, ή και τα δύο υπερβαίνουν το μέγιστο μήκος που καθορίζεται από το σύστημα. Για παράδειγμα, σε πλατφόρμες με βάση τα Windows, οι διαδρομές πρέπει να είναι λιγότερες από 248 χαρακτήρες και τα ονόματα αρχείων πρέπει να είναι λιγότερες από 260 χαρακτήρες.

NotSupportedException

Το αρχείο στο path’ περιέχει μια στήλη (:) στη μέση της γραμμής.

FileNotFoundException

Το αρχείο δεν βρέθηκε.

DirectoryNotFoundException

Η καθορισμένη διαδρομή είναι αναποτελεσματική, για παράδειγμα, να είναι σε μια μη χαρτογράφιμη οδήγηση.

IOException

Το αρχείο είναι ήδη ανοιχτό.

InvalidDataException

Το αρχείο είναι διαφθαρμένο.

Archive(Σύνδεσμος, Σύνδεσμος[ ]Ετικέτες ArchiveLoadOptions)

Αρχίζει μια νέα περίπτωση της κατηγορίας Aspose.Zip.Archive από το αρχείο zip πολλαπλών όγκων και συνθέτει μια λίστα εισόδου που μπορεί να αφαιρεθεί από το αρχείο.

public Archive(string mainSegment, string[] segmentsInOrder, ArchiveLoadOptions loadOptions = null)

Parameters

mainSegment string

Η διαδρομή προς το τελευταίο τμήμα του αρχείου πολλαπλών όγκων με το κεντρικό κατάλογο.

Συνήθως αυτό το τμήμα έχει *.zip επέκταση και μικρότερη από άλλες.

segmentsInOrder string [ ]

Τα μονοπάτια σε κάθε τμήμα, αλλά το τελευταίο αρχείο zip πολλαπλών όγκων σεβασμού της παραγγελίας.

Συνήθως ονομάζουν filename.z01, filename.z02, …, filename.z(n-1).

loadOptions ArchiveLoadOptions

Επιλογές για να φορτώσετε τα υπάρχοντα αρχεία με.

Examples

Αυτό το δείγμα εξάγει σε ένα δελτίο ένα αρχείο τριών τμημάτων.

using (Archive a = new Archive("archive.zip", new string[] { "archive.z01", "archive.z02" }))
{
    a.ExtractToDirectory("destination");
}

Exceptions

EndOfStreamException

Δεν μπορείτε να φορτώσετε τα επικεφαλίδες ZIP επειδή τα δεδομένα είναι κατεστραμμένα.

Properties

Entries

Απολαμβάνει τις εγγραφές του τύπου Aspose.Zip.ArchiveEntry που αποτελεί το αρχείο.

public ReadOnlyCollection<archiveentry> Entries { get; }

Αξία ιδιοκτησίας

ReadOnlyCollection &lt · ArchiveEntry >

NewEntrySettings

Οι ρυθμίσεις συμπίεσης και κρυπτογράφησης που χρησιμοποιούνται για πρόσφατα προστιθέμενα στοιχεία Aspose.Zip.ArchiveEntry.

public ArchiveEntrySettings NewEntrySettings { get; }

Αξία ιδιοκτησίας

ArchiveEntrySettings

Methods

CreateEntries(Ενημέρωση, Bool)

Προσθέστε στο αρχείο όλα τα αρχεία και τους καταλόγους επανειλημμένα στο δεδομένο κατάλογο.

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

Parameters

directory DirectoryInfo

Οδηγός για συμπίεση.

includeRootDirectory bool

Υποδεικνύει αν πρέπει να συμπεριληφθεί η ίδια η γραμμή ρίζας ή όχι.

Returns

Archive

Το αρχείο με τις εγγραφές συντάσσεται.

Examples

using (Archive archive = new Archive())
{
    DirectoryInfo folder = new DirectoryInfo("C:\folder");
    archive.CreateEntries(folder);
    archive.Save("folder.zip");
}

Exceptions

DirectoryNotFoundException

Η διαδρομή προς το directory’ είναι αδύνατη, για παράδειγμα, να είναι σε μια μη χαρτογραφημένη οδήγηση.

SecurityException

Ο καλεστής δεν έχει την απαιτούμενη άδεια πρόσβασης στο directory".

CreateEntries(Στέλινγκ, Μπόλ)

Προσθέστε στο αρχείο όλα τα αρχεία και τους καταλόγους επανειλημμένα στο δεδομένο κατάλογο.

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

Parameters

sourceDirectory string

Οδηγός για συμπίεση.

includeRootDirectory bool

Υποδεικνύει αν πρέπει να συμπεριληφθεί η ίδια η γραμμή ρίζας ή όχι.

Returns

Archive

Το αρχείο με τις εγγραφές συντάσσεται.

Examples

using (Archive archive = new Archive())
{
    archive.CreateEntries("C:\folder");
    archive.Save("folder.zip");
}

CreateEntry(Σύνδεσμος, Σύνδεσμος, Bool, ArchiveEntrySettings)

Δημιουργήστε μια ενιαία είσοδο στο αρχείο.

public ArchiveEntry CreateEntry(string name, string path, bool openImmediately = false, ArchiveEntrySettings newEntrySettings = null)

Parameters

name string

Το όνομα της είσοδος.

path string

Το πλήρως εξειδικευμένο όνομα του νέου αρχείου, ή το σχετικό όνομα αρχείου που πρέπει να συμπιέσει.

openImmediately bool

Αληθινά, αν ανοίξετε αμέσως το αρχείο, αλλιώς ανοίξτε το αρχείο στο αρχείο αποθήκευσης.

newEntrySettings ArchiveEntrySettings

Οι ρυθμίσεις συμπίεσης και κρυπτογράφησης που χρησιμοποιούνται για την προσθήκη στοιχείου Aspose.Zip.ArchiveEntry.

Returns

ArchiveEntry

Η εισαγωγή του ZIP.

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

Το όνομα εισόδου ρυθμίζεται μόνο μέσα σε παράμετρο.Το όνομα αρχείου που παρέχεται σε παράμετρο δεν επηρεάζει το όνομα εισόδου.

Εάν το αρχείο ανοίξει αμέσως με παράμετρο, μπλοκάρει μέχρι να αποθηκευτεί το αρχείο.

Exceptions

ArgumentNullException

path’ is null.

SecurityException

Ο κάτοχος δεν έχει την απαιτούμενη άδεια πρόσβασης.

ArgumentException

Το path’ είναι άδειο, περιέχει μόνο λευκούς χώρους, ή περιέχει άκυρους χαρακτήρες.

UnauthorizedAccessException

Η πρόσβαση στο αρχείο path" αρνείται.

PathTooLongException

Το καθορισμένο path’, όνομα αρχείου, ή και τα δύο υπερβαίνουν το μέγιστο μήκος που καθορίζεται από το σύστημα. Για παράδειγμα, σε πλατφόρμες με βάση τα Windows, οι διαδρομές πρέπει να είναι λιγότερες από 248 χαρακτήρες και τα ονόματα αρχείων πρέπει να είναι λιγότερες από 260 χαρακτήρες.

NotSupportedException

Το αρχείο στο path’ περιέχει μια στήλη (:) στη μέση της γραμμής.

CreateEntry(Σύνδεση, Σύνδεση, ArchiveEntrySettings)

Δημιουργήστε μια ενιαία είσοδο στο αρχείο.

public ArchiveEntry CreateEntry(string name, Stream source, ArchiveEntrySettings newEntrySettings = null)

Parameters

name string

Το όνομα της είσοδος.

source Stream

Η ροή εισόδου για την είσοδο.

newEntrySettings ArchiveEntrySettings

Οι ρυθμίσεις συμπίεσης και κρυπτογράφησης που χρησιμοποιούνται για την προσθήκη στοιχείου Aspose.Zip.ArchiveEntry.

Returns

ArchiveEntry

Η εισαγωγή του ZIP.

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(Σύνδεσμος, FileInfo, Bool, ArchiveEntrySettings)

Δημιουργήστε μια ενιαία είσοδο στο αρχείο.

public ArchiveEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, ArchiveEntrySettings newEntrySettings = null)

Parameters

name string

Το όνομα της είσοδος.

fileInfo FileInfo

Τα μεταδεδομένα του αρχείου πρέπει να συμπιέζονται.

openImmediately bool

Αληθινά, αν ανοίξετε αμέσως το αρχείο, αλλιώς ανοίξτε το αρχείο στο αρχείο αποθήκευσης.

newEntrySettings ArchiveEntrySettings

Οι ρυθμίσεις συμπίεσης και κρυπτογράφησης που χρησιμοποιούνται για την προσθήκη στοιχείου Aspose.Zip.ArchiveEntry.

Returns

ArchiveEntry

Η εισαγωγή του ZIP.

Examples

Συνθέστε τα αρχεία με κρυπτογραφημένες εγγραφές με διαφορετικές μεθόδους κρυπτογράφησης και κωδικούς ο καθένας.

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

Το όνομα εισόδου ρυθμίζεται μόνο μέσα σε παράμετρο.Το όνομα αρχείου που παρέχεται σε παράμετρο δεν επηρεάζει το όνομα εισόδου.

Εάν το αρχείο ανοίξει αμέσως με παράμετρο, μπλοκάρει μέχρι να αποθηκευτεί το αρχείο.

Exceptions

UnauthorizedAccessException

fileInfo’ is read-only or is a directory.

DirectoryNotFoundException

Η καθορισμένη διαδρομή είναι αναποτελεσματική, για παράδειγμα, να είναι σε μια μη χαρτογράφιμη οδήγηση.

IOException

Το αρχείο είναι ήδη ανοιχτό.

CreateEntry(Σύνδεσμος, Stream, ArchiveEntrySettings, FileSystemInfo)

Δημιουργήστε μια ενιαία είσοδο στο αρχείο.

public ArchiveEntry CreateEntry(string name, Stream source, ArchiveEntrySettings newEntrySettings, FileSystemInfo fileInfo)

Parameters

name string

Το όνομα της είσοδος.

source Stream

Η ροή εισόδου για την είσοδο.

newEntrySettings ArchiveEntrySettings

Οι ρυθμίσεις συμπίεσης και κρυπτογράφησης που χρησιμοποιούνται για την προσθήκη στοιχείου Aspose.Zip.ArchiveEntry.

fileInfo FileSystemInfo

Τα μεταδεδομένα του αρχείου ή του φάκελου πρέπει να συμπιέζονται.

Returns

ArchiveEntry

Η εισαγωγή του ZIP.

Examples

Συνθέστε αρχεία με κρυπτογραφημένη είσοδο.

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

Το όνομα εισόδου ρυθμίζεται μόνο μέσα σε παράμετρο.Το όνομα αρχείου που παρέχεται σε παράμετρο δεν επηρεάζει το όνομα εισόδου.

Μπορείτε να αναφέρετε στο System.IO.DirectoryInfo εάν η εισαγωγή είναι διεύθυνση.

Exceptions

InvalidOperationException

Τόσο το source’ όσο και το fileInfo’ είναι μηδενικό ή το source’ είναι μηδενικό και το fileInfo’ είναι κατάλογο.

CreateEntry(Σύνδεση, FuncΑρχείο Εισαγωγών)

Δημιουργήστε μια ενιαία είσοδο στο αρχείο.

public ArchiveEntry CreateEntry(string name, Func<stream> streamProvider, ArchiveEntrySettings newEntrySettings = null)

Parameters

name string

Το όνομα της είσοδος.

streamProvider Func &lt · Stream >

Η μέθοδος που παρέχει εισαγωγικό ρεύμα για την είσοδο.

newEntrySettings ArchiveEntrySettings

Οι ρυθμίσεις συμπίεσης και κρυπτογράφησης που χρησιμοποιούνται για την προσθήκη στοιχείου Aspose.Zip.ArchiveEntry.

Returns

ArchiveEntry

Η εισαγωγή του ZIP.

Examples

Συνθέστε αρχεία με κρυπτογραφημένη είσοδο.

System.Func&lt;Stream&gt; 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

Αυτή η μέθοδος ισχύει για το .NET Framework 4.0 και άνω και για την έκδοση .NET Standard 2.0.

DeleteEntry(ArchiveEntry)

Απομακρύνει την πρώτη εμφάνιση της συγκεκριμένης εισόδου από τη λίστα εισόδου.

public Archive DeleteEntry(ArchiveEntry entry)

Parameters

entry ArchiveEntry

Η είσοδος να αφαιρεθεί από τη λίστα εισόδου.

Returns

Archive

Το αρχείο με την είσοδο διαγράφεται.

Examples

Εδώ είναι πώς μπορείτε να αφαιρέσετε όλες τις εγγραφές εκτός από την τελευταία:

using (var archive = new Archive("archive.zip"))
{
    while (archive.Entries.Count &gt; 1)
        archive.DeleteEntry(archive.Entries[0]);
    archive.Save("last_entry.zip");
}

Exceptions

ObjectDisposedException

Το αρχείο διαγράφεται.

DeleteEntry(ΕΝΤ)

Απομακρύνετε την εισαγωγή από τη λίστα εισαγωγών με δείκτη.

public Archive DeleteEntry(int entryIndex)

Parameters

entryIndex int

Ο μηδενικός δείκτης εισόδου που πρέπει να αφαιρεθεί.

Returns

Archive

Το αρχείο με την είσοδο διαγράφεται.

Examples

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

Exceptions

ObjectDisposedException

Τα αρχεία διαγράφονται.

ArgumentOutOfRangeException

entryIndex’ is less than 0.-or- entryIndex’ is equal to or greater than ‘Entries’ count.

Dispose()

Εκτελεί καθορισμένα από την εφαρμογή καθήκοντα που σχετίζονται με την απελευθέρωση, την απελευθέρωση ή την ανακατασκευή μη διαχειριζόμενων πόρων.

public void Dispose()

Dispose(Μπόλ)

Εκτελεί καθορισμένα από την εφαρμογή καθήκοντα που σχετίζονται με την απελευθέρωση, την απελευθέρωση ή την ανακατασκευή μη διαχειριζόμενων πόρων.

protected virtual void Dispose(bool disposing)

Parameters

disposing bool

Πρέπει να αφαιρεθούν οι διαχειριζόμενοι πόροι.

ExtractToDirectory(Σύνδεσμος)

Απομακρύνει όλα τα αρχεία στο αρχείο στο δελτίο που παρέχεται.

public void ExtractToDirectory(string destinationDirectory)

Parameters

destinationDirectory string

Η διαδρομή προς το δελτίο για να τοποθετήσετε τα εξαγόμενα αρχεία.

Examples

using (var archive = new Archive("archive.zip")) 
{ 
   archive.ExtractToDirectory("C:\extracted");
}

Remarks

Εάν το κατάλογο δεν υπάρχει, θα δημιουργηθεί.

Exceptions

ArgumentNullException

destinationDirectory’ is null.

PathTooLongException

Για παράδειγμα, σε πλατφόρμες με βάση τα Windows, οι διαδρομές πρέπει να είναι λιγότερες από 248 χαρακτήρες και τα ονόματα αρχείων πρέπει να είναι λιγότερες από 260 χαρακτήρες.

SecurityException

Ο κάτοχος δεν έχει την απαιτούμενη άδεια πρόσβασης στο υπάρχον κατάλογο.

NotSupportedException

Εάν η διεύθυνση δεν υπάρχει, το μονοπάτι περιέχει έναν χαρακτήρα στήλης (:) που δεν είναι μέρος μιας ετικέτας οδήγησης (“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

Ο κατάλογος που καθορίζεται από το μονοπάτι είναι ένα αρχείο. -ή- Το όνομα δικτύου δεν είναι γνωστό.

InvalidDataException

Το λανθασμένο κωδικό πρόσβασης έχει παρασχεθεί. - ή - Το αρχείο είναι κατεστραμμένο.

Save(Δραστηριότητες, ArchiveSaveOptions)

Αποθηκεύστε τα αρχεία στο παρεχόμενο ρεύμα.

public void Save(Stream outputStream, ArchiveSaveOptions saveOptions = null)

Parameters

outputStream Stream

Ο προορισμός ρεύματος.

saveOptions ArchiveSaveOptions

Επιλογές για την αποθήκευση αρχείων.

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

Πρέπει να είναι γραπτή.

Exceptions

ArgumentException

outputStream’ is not writable.

ObjectDisposedException

Το αρχείο διαγράφεται.

Save(Σύνδεσμος, ArchiveSaveOptions)

Αποθηκεύει τα αρχεία στο αρχείο προορισμού που παρέχεται.

public void Save(string destinationFileName, ArchiveSaveOptions saveOptions = null)

Parameters

destinationFileName string

Ο δρόμος του αρχείου για να δημιουργηθεί.Εάν το καθορισμένο όνομα αρχείου υποδεικνύει ένα υπάρχον αρχείο, θα υπεργραφεί.

saveOptions ArchiveSaveOptions

Επιλογές για την αποθήκευση αρχείων.

Examples

using (var archive = new Archive())
{
    archive.CreateEntry("entry.bin", "data.bin");
    archive.Save("archive.zip",  new ArchiveSaveOptions() { Encoding = Encoding.ASCII });
}

Remarks

Είναι δυνατόν να αποθηκεύσετε ένα αρχείο στο ίδιο μονοπάτι με αυτό που κατεβάστηκε. ωστόσο, αυτό δεν συνιστάται επειδή αυτή η προσέγγιση χρησιμοποιεί την αντιγραφή σε ένα προσωρινό αρχείο.

Exceptions

ArgumentNullException

destinationFileName’ is null.

SecurityException

Ο κάτοχος δεν έχει την απαιτούμενη άδεια πρόσβασης.

ArgumentException

Το destinationFileName’ είναι κενό, περιέχει μόνο λευκούς χώρους, ή περιέχει άκυρους χαρακτήρες.

UnauthorizedAccessException

Η πρόσβαση στο αρχείο destinationFileName’ αρνείται.

PathTooLongException

Το καθορισμένο destinationFileName’, όνομα αρχείου, ή και τα δύο υπερβαίνουν το καθορισμένο μέγιστο μήκος του συστήματος.Για παράδειγμα, σε πλατφόρμες με βάση τα Windows, οι διαδρομές πρέπει να είναι λιγότερες από 248 χαρακτήρες, και τα ονόματα αρχείων πρέπει να είναι λιγότερες από 260 χαρακτήρες.

NotSupportedException

Το αρχείο στο destinationFileName’ περιέχει μια στήλη (:) στη μέση της γραμμής.

FileNotFoundException

Το αρχείο δεν βρέθηκε.

DirectoryNotFoundException

Η καθορισμένη διαδρομή είναι αναποτελεσματική, για παράδειγμα, να είναι σε μια μη χαρτογράφιμη οδήγηση.

IOException

Το αρχείο είναι ήδη ανοιχτό.

SaveSplit(Σύνδεσμος, SplitArchiveSaveOptions)

Αποθηκεύει το αρχείο πολλαπλών όγκων στο δελτίο προορισμών που παρέχεται.

public void SaveSplit(string destinationDirectory, SplitArchiveSaveOptions options)

Parameters

destinationDirectory string

Ο δρόμος προς τον κατάλογο όπου θα δημιουργηθούν τα τμήματα αρχείων.

options SplitArchiveSaveOptions

Επιλογές για την αποθήκευση αρχείων, συμπεριλαμβανομένου του ονόματος αρχείου.

Examples

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

Remarks

Αυτή η μέθοδος αποτελείται από διάφορα () αρχεία filename.z01, filename.z02, …, filename.z(n-1), filename.zip.

Δεν μπορείτε να δημιουργήσετε υπάρχοντα αρχεία πολλαπλού όγκου.

Exceptions

InvalidOperationException

Αυτό το αρχείο ανοίγει από την υπάρχουσα πηγή.

NotSupportedException

Αυτό το αρχείο είναι τόσο συμπιεσμένο με τη μέθοδο XZ και κρυπτογραφείται.

ArgumentNullException

destinationDirectory’ is null.

SecurityException

Ο κάτοχος δεν έχει την απαιτούμενη άδεια πρόσβασης στον κατάλογο.

ArgumentException

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

PathTooLongException

Η καθορισμένη διαδρομή υπερβαίνει το μέγιστο μήκος που καθορίζεται από το σύστημα.

ObjectDisposedException

Το αρχείο διαγράφεται.

 Ελληνικά