Class SevenZipArchive

Class SevenZipArchive

Namespace: Aspose.Zip.SevenZip
Assembly: Aspose.Zip.dll (25.1.0)

כיתה זו מייצגת קובץ ארכיון 7z. השתמש בה כדי ליצור ולחלץ ארכיוני 7z.

public class SevenZipArchive : IArchive, IDisposable

ירושה

objectSevenZipArchive

מיישמת

IArchive, IDisposable

חברים שהורשו

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

בונים

SevenZipArchive(SevenZipEntrySettings)

מאתחל מופע חדש של כיתה Aspose.Zip.SevenZip.SevenZipArchive עם הגדרות אופציונליות עבור הפריטים שלה.

public SevenZipArchive(SevenZipEntrySettings newEntrySettings = null)

פרמטרים

newEntrySettings SevenZipEntrySettings

הגדרות דחיסה והצפנה המשמשות עבור פריטי Aspose.Zip.SevenZip.SevenZipArchiveEntry שנוספו לאחרונה.
אם לא צוינה, דחיסת LZMA ללא הצפנה תשתמש.

דוגמאות

הדוגמה הבאה מראה כיצד לדחוס קובץ בודד עם הגדרות ברירת מחדל: דחיסת LZMA ללא הצפנה.

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

SevenZipArchive(Stream, string)

מאתחל מופע חדש של כיתה Aspose.Zip.SevenZip.SevenZipArchive ומרכיב רשימת פריטים שניתן לחלץ מהארכיון.

public SevenZipArchive(Stream sourceStream, string password = null)

פרמטרים

sourceStream Stream

מקור הארכיון.

password string

סיסמה אופציונלית לפיצוח. אם שמות הקבצים מוצפנים, היא חייבת להיות נוכחת.

דוגמאות

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

הערות

בונה זה אינו מפרק שום פריט. ראה את השיטה Aspose.Zip.SevenZip.SevenZipArchive.ExtractToDirectory(System.String,System.String) לפירוק.

חריגים

ArgumentException

sourceStream אינו ניתן לחיפוש.

ArgumentNullException

sourceStream הוא null.

NotImplementedException

הארכיון מכיל יותר מקודד אחד. כיום נתמכת רק דחיסת LZMA.

SevenZipArchive(string, string)

מאתחל מופע חדש של כיתה Aspose.Zip.SevenZip.SevenZipArchive ומרכיב רשימת פריטים שניתן לחלץ מהארכיון.

public SevenZipArchive(string path, string password = null)

פרמטרים

path string

הנתיב המלא או הנתיב היחסי לקובץ הארכיון.

password string

סיסמה אופציונלית לפיצוח. אם שמות הקבצים מוצפנים, היא חייבת להיות נוכחת.

דוגמאות

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

הערות

בונה זה אינו מפרק שום פריט. ראה את השיטה Aspose.Zip.SevenZip.SevenZipArchive.ExtractToDirectory(System.String,System.String) לפירוק.

חריגים

ArgumentNullException

path הוא null.

SecurityException

המבצע אינו מורשה לגישה הנדרשת.

ArgumentException

path ריק, מכיל רק רווחים, או מכיל תווים לא חוקיים.

UnauthorizedAccessException

הגישה לקובץ path נדחתה.

PathTooLongException

הנתיב, שם הקובץ, או שניהם חורגים מהאורך המרבי המוגדר על ידי המערכת. לדוגמה, בפלטפורמות מבוססות Windows, הנתיבים חייבים להיות פחות מ-248 תווים, ושמות הקבצים חייבים להיות פחות מ-260 תווים.

NotSupportedException

הקובץ בpath מכיל נקודתיים (:) באמצע המיתר.

FileNotFoundException

הקובץ לא נמצא.

DirectoryNotFoundException

הנתיב שצוין אינו חוקי, כמו למשל אם הוא נמצא בכונן שאינו ממופה.

IOException

הקובץ כבר פתוח.

SevenZipArchive(string[], string)

מאתחל מופע חדש של כיתה Aspose.Zip.SevenZip.SevenZipArchive מארכיון 7z רב-נפחים ומרכיב רשימת פריטים שניתן לחלץ מהארכיון.

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

פרמטרים

parts string[]

נתיבים לכל חלק של ארכיון 7z רב-נפחים לפי הסדר.

password string

סיסמה אופציונלית לפיצוח. אם שמות הקבצים מוצפנים, היא חייבת להיות נוכחת.

דוגמאות

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

חריגים

ArgumentNullException

parts הוא null.

ArgumentException

parts אין רשומות.

SecurityException

המבצע אינו מורשה לגישה הנדרשת.

ArgumentException

הנתיב לקובץ ריק, מכיל רק רווחים, או מכיל תווים לא חוקיים.

UnauthorizedAccessException

הגישה לקובץ נדחתה.

PathTooLongException

הנתיב שצוין לחלק, שם הקובץ, או שניהם חורגים מהאורך המרבי המוגדר על ידי המערכת. לדוגמה, בפלטפורמות מבוססות Windows, הנתיבים חייבים להיות פחות מ-248 תווים, ושמות הקבצים חייבים להיות פחות מ-260 תווים.

NotSupportedException

הקובץ בנתיב מכיל נקודתיים (:) באמצע המיתר.

מאפיינים

Entries

מקבל את הפריטים מסוג Aspose.Zip.SevenZip.SevenZipArchiveEntry המהווים את הארכיון.

public ReadOnlyCollection<sevenziparchiveentry> Entries { get; }

ערך מאפיין

ReadOnlyCollection<SevenZipArchiveEntry&gt;

NewEntrySettings

הגדרות דחיסה והצפנה המשמשות עבור פריטי Aspose.Zip.SevenZip.SevenZipArchiveEntry שנוספו לאחרונה.

public SevenZipEntrySettings NewEntrySettings { get; }

ערך מאפיין

SevenZipEntrySettings

שיטות

CreateEntries(DirectoryInfo, bool)

מוסיף לארכיון את כל הקבצים והקטלוגים בצורה רקורסיבית בקטלוג הנתון.

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

פרמטרים

directory DirectoryInfo

קטלוג לדחיסה.

includeRootDirectory bool

מציין האם לכלול את הקטלוג הראשי עצמו או לא.

מחזיר

SevenZipArchive

הארכיון עם הפריטים המרכיבים.

דוגמאות

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

חריגים

DirectoryNotFoundException

הנתיב לdirectory אינו חוקי, כמו למשל אם הוא נמצא בכונן שאינו ממופה.

SecurityException

המבצע אינו מורשה לגישה לdirectory.

CreateEntries(string, bool)

מוסיף לארכיון את כל הקבצים והקטלוגים בצורה רקורסיבית בקטלוג הנתון.

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

פרמטרים

sourceDirectory string

קטלוג לדחיסה.

includeRootDirectory bool

מציין האם לכלול את הקטלוג הראשי עצמו או לא.

מחזיר

SevenZipArchive

הארכיון עם הפריטים המרכיבים.

דוגמאות

מרכיב ארכיון 7z עם דחיסת LZMA2.

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

CreateEntry(string, FileInfo, bool, SevenZipEntrySettings)

יוצר פריט בודד בתוך הארכיון.

public SevenZipArchiveEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, SevenZipEntrySettings newEntrySettings = null)

פרמטרים

name string

שם הפריט.

fileInfo FileInfo

מטא-נתונים של הקובץ שיש לדחוס.

openImmediately bool

נכון אם לפתוח את הקובץ מיד, אחרת לפתוח את הקובץ בעת שמירת הארכיון.

newEntrySettings SevenZipEntrySettings

הגדרות דחיסה והצפנה המשמשות עבור פריט Aspose.Zip.SevenZip.SevenZipArchiveEntry שנוסף.

מחזיר

SevenZipArchiveEntry

מופע של פריט Seven Zip.

דוגמאות

מרכיב ארכיון עם פריטים מוצפנים עם סיסמאות שונות לכל אחד.

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

הערות

שם הפריט נקבע אך ורק בתוך פרמטר name. שם הקובץ שניתן בפרמטר fileInfo אינו משפיע על שם הפריט.

אם הקובץ נפתח מיד עם פרמטר openImmediately, הוא יהפוך לחסום עד שהארכיון יישמר.

חריגים

UnauthorizedAccessException

fileInfo הוא רק לקריאה או שהוא קטלוג.

DirectoryNotFoundException

הנתיב שצוין אינו חוקי, כמו למשל אם הוא נמצא בכונן שאינו ממופה.

IOException

הקובץ כבר פתוח.

CreateEntry(string, Stream, SevenZipEntrySettings, FileSystemInfo)

יוצר פריט בודד בתוך הארכיון.

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

פרמטרים

name string

שם הפריט.

source Stream

הזרם הקלט עבור הפריט.

newEntrySettings SevenZipEntrySettings

הגדרות דחיסה והצפנה המשמשות עבור פריט Aspose.Zip.SevenZip.SevenZipArchiveEntry שנוסף.

fileInfo FileSystemInfo

מטא-נתונים של הקובץ או הקטלוג שיש לדחוס.

מחזיר

SevenZipArchiveEntry

מופע של פריט SevenZip.

דוגמאות

מרכיב ארכיון עם פריט מוצפן בדחיסת 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);
    }
}

הערות

שם הפריט נקבע אך ורק בתוך פרמטר name. שם הקובץ שניתן בפרמטר fileInfo אינו משפיע על שם הפריט.

fileInfo יכול להתייחס ל-System.IO.DirectoryInfo אם הפריט הוא קטלוג.

חריגים

InvalidOperationException

גם source וגם fileInfo הם null או source הוא null וfileInfo מתייחס לקטלוג.

CreateEntry(string, Stream, SevenZipEntrySettings)

יוצר פריט בודד בתוך הארכיון.

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

פרמטרים

name string

שם הפריט.

source Stream

הזרם הקלט עבור הפריט.

newEntrySettings SevenZipEntrySettings

הגדרות דחיסה והצפנה המשמשות עבור פריט Aspose.Zip.SevenZip.SevenZipArchiveEntry שנוסף.

מחזיר

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)

פרמטרים

name string

שם הפריט.

path string

השם המלא של הקובץ החדש, או שם הקובץ היחסי שיש לדחוס.

openImmediately bool

נכון אם לפתוח את הקובץ מיד, אחרת לפתוח את הקובץ בעת שמירת הארכיון.

newEntrySettings SevenZipEntrySettings

הגדרות דחיסה והצפנה המשמשות עבור פריט Aspose.Zip.SevenZip.SevenZipArchiveEntry שנוסף.

מחזיר

SevenZipArchiveEntry

מופע של פריט Zip.

דוגמאות

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

הערות

שם הפריט נקבע אך ורק בתוך פרמטר name. שם הקובץ שניתן בפרמטר path אינו משפיע על שם הפריט.

אם הקובץ נפתח מיד עם פרמטר openImmediately, הוא יהפוך לחסום עד שהארכיון יישמר.

חריגים

ArgumentNullException

path הוא null.

SecurityException

המבצע אינו מורשה לגישה הנדרשת.

ArgumentException

path ריק, מכיל רק רווחים, או מכיל תווים לא חוקיים.

UnauthorizedAccessException

הגישה לקובץ path נדחתה.

PathTooLongException

הנתיב שצוין, שם הקובץ, או שניהם חורגים מהאורך המרבי המוגדר על ידי המערכת. לדוגמה, בפלטפורמות מבוססות Windows, הנתיבים חייבים להיות פחות מ-248 תווים, ושמות הקבצים חייבים להיות פחות מ-260 תווים.

NotSupportedException

הקובץ בpath מכיל נקודתיים (:) באמצע המיתר.

Dispose()

מבצע משימות המוגדרות על ידי היישום הקשורות לשחרור, שחרור או איפוס של משאבים לא מנוהלים.

public void Dispose()

Dispose(bool)

מבצע משימות המוגדרות על ידי היישום הקשורות לשחרור, שחרור או איפוס של משאבים לא מנוהלים.

protected virtual void Dispose(bool disposing)

פרמטרים

disposing bool

אם משאבים מנוהלים צריכים להיות משוחררים.

ExtractToDirectory(string, string)

מחלץ את כל הקבצים בארכיון לקטלוג שניתן.

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

פרמטרים

destinationDirectory string

הנתיב לקטלוג שבו יש למקם את הקבצים המוחלצים.

password string

סיסמה אופציונלית לפיצוח התוכן.

דוגמאות

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

הערות

אם הקטלוג אינו קיים, הוא ייווצר.

password משמש לפיצוח התוכן בלבד. אם שמות הקבצים מוצפנים, ספק סיסמה בבנאי Aspose.Zip.SevenZip.SevenZipArchive.#ctor(System.String,System.String) או Aspose.Zip.SevenZip.SevenZipArchive.#ctor(System.IO.Stream,System.String).

חריגים

ArgumentNullException

destinationDirectory הוא null.

PathTooLongException

הנתיב שצוין, שם הקובץ, או שניהם חורגים מהאורך המרבי המוגדר על ידי המערכת. לדוגמה, בפלטפורמות מבוססות Windows, הנתיבים חייבים להיות פחות מ-248 תווים ושמות הקבצים חייבים להיות פחות מ-260 תווים.

SecurityException

המבצע אינו מורשה לגישה לקטלוג קיים.

NotSupportedException

אם הקטלוג אינו קיים, הנתיב מכיל תו נקודתיים (:) שאינו חלק מתווית הכונן (“C:").

ArgumentException

destinationDirectory הוא מיתר באורך אפס, מכיל רק רווחים, או מכיל תו אחד או יותר לא חוקיים. אתה יכול לשאול על תווים לא חוקיים על ידי שימוש בשיטה System.IO.Path.GetInvalidPathChars. -או- הנתיב מקדים, או מכיל, רק תו נקודתיים (:).

IOException

הקטלוג שצוין על ידי הנתיב הוא קובץ. -או- שם הרשת אינו ידוע.

InvalidDataException

הארכיון פגום.

Save(Stream)

שומר את הארכיון 7z לזרם שניתן.

public void Save(Stream output)

פרמטרים

output Stream

זרם היעד.

דוגמאות

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

הערות

output חייב להיות ניתן לחיפוש.

חריגים

ArgumentException

output אינו תומך בחיפוש.

ArgumentNullException

output הוא null.

InvalidOperationException

המקודד נכשל לדחוס את הנתונים.

Save(string)

שומר את הארכיון לקובץ היעד שניתן.

public void Save(string destinationFileName)

פרמטרים

destinationFileName string

הנתיב של הארכיון שצריך להיווצר. אם שם הקובץ שצוין מצביע על קובץ קיים, הוא יידחה.

דוגמאות

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

הערות

אפשרי לשמור ארכיון באותו נתיב שבו הוא נטען. עם זאת, זה לא מומלץ כי גישה זו משתמשת בהעתקה לקובץ זמני.

חריגים

ArgumentNullException

destinationFileName הוא null.

SecurityException

המבצע אינו מורשה לגישה הנדרשת.

ArgumentException

destinationFileName ריק, מכיל רק רווחים, או מכיל תווים לא חוקיים.

UnauthorizedAccessException

הגישה לקובץ destinationFileName נדחתה.

PathTooLongException

הנתיב שצוין destinationFileName, שם הקובץ, או שניהם חורגים מהאורך המרבי המוגדר על ידי המערכת. לדוגמה, בפלטפורמות מבוססות Windows, הנתיבים חייבים להיות פחות מ-248 תווים, ושמות הקבצים חייבים להיות פחות מ-260 תווים.

NotSupportedException

הקובץ בdestinationFileName מכיל נקודתיים (:) באמצע המיתר.

SaveSplit(string, SplitSevenZipArchiveSaveOptions)

שומר את הארכיון הרב-נפחי לקטלוג היעד שניתן.

public void SaveSplit(string destinationDirectory, SplitSevenZipArchiveSaveOptions options)

פרמטרים

destinationDirectory string

הנתיב לקטלוג שבו יש ליצור את קטעי הארכיון.

options SplitSevenZipArchiveSaveOptions

אפשרויות לשמירת הארכיון, כולל שם הקובץ.

דוגמאות

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

הערות

שיטה זו מרכיבה כמה (n) קבצים filename.7z.001, filename.7z.002, ..., filename.7z.(n).

לא ניתן להפוך ארכיון קיים לרב-נפחי.

חריגים

InvalidOperationException

הארכיון הזה נפתח ממקור קיים.

ArgumentNullException

destinationDirectory הוא null.

SecurityException

המבצע אינו מורשה לגישה לקטלוג.

ArgumentException

destinationDirectory מכיל תווים לא חוקיים כמו “, >, <, או |.

PathTooLongException

הנתיב שצוין חורג מהאורך המרבי המוגדר על ידי המערכת.

 Ελληνικά