SevenZipArchive.CreateEntry

CreateEntry(string, FileInfo, bool, SevenZipEntrySettings)

Δημιουργία μίας καταχώρησης μέσα στο αρχείο.

public SevenZipArchiveEntry CreateEntry(string name, FileInfo fileInfo, 
    bool openImmediately = false, SevenZipEntrySettings newEntrySettings = null)
ΠαράμετροςΤύποςΠεριγραφή
nameStringΤο όνομα της καταχώρισης.
fileInfoFileInfoΤα μεταδεδομένα του αρχείου που πρόκειται να συμπιεστούν.
openImmediatelyBooleanΣωστό εάν ανοίξετε το αρχείο αμέσως, διαφορετικά ανοίξτε το αρχείο κατά την αποθήκευση αρχειοθέτησης.
newEntrySettingsSevenZipEntrySettingsΠροστέθηκαν ρυθμίσεις συμπίεσης και κρυπτογράφησηςSevenZipArchiveEntry είδος.

Επιστρεφόμενη Αξία

Περίπτωση εισόδου επτά Zip.

Εξαιρέσεις

εξαίρεσηκατάσταση
UnauthorizedAccessExceptionfileInfo είναι μόνο για ανάγνωση ή είναι κατάλογος.
DirectoryNotFoundExceptionΗ καθορισμένη διαδρομή δεν είναι έγκυρη, όπως είναι σε μη αντιστοιχισμένη μονάδα δίσκου.
IOExceptionΤο αρχείο είναι ήδη ανοιχτό.

Παρατηρήσεις

Το όνομα καταχώρισης ορίζεται αποκλειστικά μέσαname παράμετρος. Το όνομα αρχείου που παρέχεταιfileInfo η παράμετρος δεν επηρεάζει το όνομα της καταχώρισης.

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

Παραδείγματα

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

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);
    }
}

Δείτε επίσης


CreateEntry(string, Stream, SevenZipEntrySettings, FileSystemInfo)

Δημιουργία μίας καταχώρησης μέσα στο αρχείο.

public SevenZipArchiveEntry CreateEntry(string name, Stream source, 
    SevenZipEntrySettings newEntrySettings, FileSystemInfo fileInfo)
ΠαράμετροςΤύποςΠεριγραφή
nameStringΤο όνομα της καταχώρισης.
sourceStreamΗ ροή εισόδου για την καταχώρηση.
newEntrySettingsSevenZipEntrySettingsΠροστέθηκαν ρυθμίσεις συμπίεσης και κρυπτογράφησηςSevenZipArchiveEntry είδος.
fileInfoFileSystemInfoΤα μεταδεδομένα του αρχείου ή του φακέλου που πρόκειται να συμπιεστούν.

Επιστρεφόμενη Αξία

Περίπτωση εισαγωγής SevenZip.

Εξαιρέσεις

εξαίρεσηκατάσταση
InvalidOperationExceptionΚαι τα δυοsource καιfileInfo είναι μηδενικά ήsourceείναι μηδενικό καιfileInfo σημαίνει κατάλογος.

Παρατηρήσεις

Το όνομα καταχώρισης ορίζεται αποκλειστικά μέσαname παράμετρος. Το όνομα αρχείου που παρέχεταιfileInfo η παράμετρος δεν επηρεάζει το όνομα της καταχώρισης.

fileInfo μπορεί να αναφέρεται σεDirectoryInfo εάν η καταχώρηση είναι κατάλογος.

Παραδείγματα

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

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);
    }
}

Δείτε επίσης


CreateEntry(string, Stream, SevenZipEntrySettings)

Δημιουργία μίας καταχώρησης μέσα στο αρχείο.

public SevenZipArchiveEntry CreateEntry(string name, Stream source, 
    SevenZipEntrySettings newEntrySettings = null)
ΠαράμετροςΤύποςΠεριγραφή
nameStringΤο όνομα της καταχώρισης.
sourceStreamΗ ροή εισόδου για την καταχώρηση.
newEntrySettingsSevenZipEntrySettingsΠροστέθηκαν ρυθμίσεις συμπίεσης και κρυπτογράφησηςSevenZipArchiveEntry είδος.

Επιστρεφόμενη Αξία

Περίπτωση εισόδου zip.

Παραδείγματα

Σύνθεση αρχείου 7z με συμπίεση LZMA2 και κρυπτογράφηση όλων των καταχωρήσεων.

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(string, string, bool, SevenZipEntrySettings)

Δημιουργία μίας καταχώρησης μέσα στο αρχείο.

public SevenZipArchiveEntry CreateEntry(string name, string path, bool openImmediately = false, 
    SevenZipEntrySettings newEntrySettings = null)
ΠαράμετροςΤύποςΠεριγραφή
nameStringΤο όνομα της καταχώρισης.
pathStringΤο πλήρως αναγνωρισμένο όνομα του νέου αρχείου ή το σχετικό όνομα αρχείου που πρόκειται να συμπιεστεί.
openImmediatelyBooleanΣωστό εάν ανοίξετε το αρχείο αμέσως, διαφορετικά ανοίξτε το αρχείο κατά την αποθήκευση αρχειοθέτησης.
newEntrySettingsSevenZipEntrySettingsΠροστέθηκαν ρυθμίσεις συμπίεσης και κρυπτογράφησηςSevenZipArchiveEntry είδος.

Επιστρεφόμενη Αξία

Περίπτωση εισόδου zip.

Εξαιρέσεις

εξαίρεσηκατάσταση
ArgumentNullExceptionpath είναι μηδενικό.
SecurityExceptionΟ καλών δεν έχει την απαιτούμενη άδεια πρόσβασης.
ArgumentExceptionοpath είναι κενό, περιέχει μόνο λευκά κενά ή περιέχει μη έγκυρους χαρακτήρες.
UnauthorizedAccessExceptionΠρόσβαση στο αρχείοpath απορρίπτεται.
PathTooLongExceptionΤο καθορισμένοpath, όνομα αρχείου ή και τα δύο υπερβαίνουν το μέγιστο μήκος που καθορίζεται από το σύστημα. Για παράδειγμα, σε πλατφόρμες που βασίζονται σε Windows, οι διαδρομές πρέπει να είναι μικρότερες από 248 χαρακτήρες και τα ονόματα αρχείων πρέπει να είναι λιγότερο από 260 χαρακτήρες.
NotSupportedExceptionΑρχείο στοpath περιέχει άνω και κάτω τελεία (:) στη μέση της συμβολοσειράς.

Παρατηρήσεις

Το όνομα καταχώρισης ορίζεται αποκλειστικά μέσαname παράμετρος. Το όνομα αρχείου που παρέχεταιpath η παράμετρος δεν επηρεάζει το όνομα της καταχώρισης.

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

Παραδείγματα

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);
    }
}

Δείτε επίσης