Class SevenZipArchive
Namespace: Aspose.Zip.SevenZip
Assembly: Aspose.Zip.dll (25.1.0)
כיתה זו מייצגת קובץ ארכיון 7z. השתמש בה כדי ליצור ולחלץ ארכיוני 7z.
public class SevenZipArchive : 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) לפירוק.
חריגים
sourceStream
אינו ניתן לחיפוש.
sourceStream
הוא null.
הארכיון מכיל יותר מקודד אחד. כיום נתמכת רק דחיסת 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) לפירוק.
חריגים
path
הוא null.
המבצע אינו מורשה לגישה הנדרשת.
path
ריק, מכיל רק רווחים, או מכיל תווים לא חוקיים.
הגישה לקובץ path
נדחתה.
הנתיב, שם הקובץ, או שניהם חורגים מהאורך המרבי המוגדר על ידי המערכת. לדוגמה, בפלטפורמות מבוססות Windows, הנתיבים חייבים להיות פחות מ-248 תווים, ושמות הקבצים חייבים להיות פחות מ-260 תווים.
הקובץ בpath
מכיל נקודתיים (:) באמצע המיתר.
הקובץ לא נמצא.
הנתיב שצוין אינו חוקי, כמו למשל אם הוא נמצא בכונן שאינו ממופה.
הקובץ כבר פתוח.
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");
}
חריגים
parts
הוא null.
parts
אין רשומות.
המבצע אינו מורשה לגישה הנדרשת.
הנתיב לקובץ ריק, מכיל רק רווחים, או מכיל תווים לא חוקיים.
הגישה לקובץ נדחתה.
הנתיב שצוין לחלק, שם הקובץ, או שניהם חורגים מהאורך המרבי המוגדר על ידי המערכת. לדוגמה, בפלטפורמות מבוססות Windows, הנתיבים חייבים להיות פחות מ-248 תווים, ושמות הקבצים חייבים להיות פחות מ-260 תווים.
הקובץ בנתיב מכיל נקודתיים (:) באמצע המיתר.
מאפיינים
Entries
מקבל את הפריטים מסוג Aspose.Zip.SevenZip.SevenZipArchiveEntry המהווים את הארכיון.
public ReadOnlyCollection<sevenziparchiveentry> Entries { get; }
ערך מאפיין
ReadOnlyCollection<SevenZipArchiveEntry>
NewEntrySettings
הגדרות דחיסה והצפנה המשמשות עבור פריטי Aspose.Zip.SevenZip.SevenZipArchiveEntry שנוספו לאחרונה.
public SevenZipEntrySettings NewEntrySettings { get; }
ערך מאפיין
שיטות
CreateEntries(DirectoryInfo, bool)
מוסיף לארכיון את כל הקבצים והקטלוגים בצורה רקורסיבית בקטלוג הנתון.
public SevenZipArchive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true)
פרמטרים
directory
DirectoryInfo
קטלוג לדחיסה.
includeRootDirectory
bool
מציין האם לכלול את הקטלוג הראשי עצמו או לא.
מחזיר
הארכיון עם הפריטים המרכיבים.
דוגמאות
using (SevenZipArchive archive = new SevenZipArchive())
{
DirectoryInfo folder = new DirectoryInfo("C:\folder");
archive.CreateEntries(folder);
archive.Save("folder.7z");
}
חריגים
הנתיב לdirectory
אינו חוקי, כמו למשל אם הוא נמצא בכונן שאינו ממופה.
המבצע אינו מורשה לגישה לdirectory
.
CreateEntries(string, bool)
מוסיף לארכיון את כל הקבצים והקטלוגים בצורה רקורסיבית בקטלוג הנתון.
public SevenZipArchive CreateEntries(string sourceDirectory, bool includeRootDirectory = true)
פרמטרים
sourceDirectory
string
קטלוג לדחיסה.
includeRootDirectory
bool
מציין האם לכלול את הקטלוג הראשי עצמו או לא.
מחזיר
הארכיון עם הפריטים המרכיבים.
דוגמאות
מרכיב ארכיון 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 שנוסף.
מחזיר
מופע של פריט 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
, הוא יהפוך לחסום עד שהארכיון יישמר.
חריגים
fileInfo
הוא רק לקריאה או שהוא קטלוג.
הנתיב שצוין אינו חוקי, כמו למשל אם הוא נמצא בכונן שאינו ממופה.
הקובץ כבר פתוח.
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
מטא-נתונים של הקובץ או הקטלוג שיש לדחוס.
מחזיר
מופע של פריט 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 אם הפריט הוא קטלוג.
חריגים
גם 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 שנוסף.
מחזיר
מופע של פריט 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 שנוסף.
מחזיר
מופע של פריט 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
, הוא יהפוך לחסום עד שהארכיון יישמר.
חריגים
path
הוא null.
המבצע אינו מורשה לגישה הנדרשת.
path
ריק, מכיל רק רווחים, או מכיל תווים לא חוקיים.
הגישה לקובץ path
נדחתה.
הנתיב שצוין, שם הקובץ, או שניהם חורגים מהאורך המרבי המוגדר על ידי המערכת. לדוגמה, בפלטפורמות מבוססות Windows, הנתיבים חייבים להיות פחות מ-248 תווים, ושמות הקבצים חייבים להיות פחות מ-260 תווים.
הקובץ ב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).
חריגים
destinationDirectory
הוא null.
הנתיב שצוין, שם הקובץ, או שניהם חורגים מהאורך המרבי המוגדר על ידי המערכת. לדוגמה, בפלטפורמות מבוססות Windows, הנתיבים חייבים להיות פחות מ-248 תווים ושמות הקבצים חייבים להיות פחות מ-260 תווים.
המבצע אינו מורשה לגישה לקטלוג קיים.
אם הקטלוג אינו קיים, הנתיב מכיל תו נקודתיים (:) שאינו חלק מתווית הכונן (“C:").
destinationDirectory
הוא מיתר באורך אפס, מכיל רק רווחים, או מכיל תו אחד או יותר לא חוקיים. אתה יכול לשאול על תווים לא חוקיים על ידי שימוש בשיטה System.IO.Path.GetInvalidPathChars. -או- הנתיב מקדים, או מכיל, רק תו נקודתיים (:).
הקטלוג שצוין על ידי הנתיב הוא קובץ. -או- שם הרשת אינו ידוע.
הארכיון פגום.
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
חייב להיות ניתן לחיפוש.
חריגים
output
אינו תומך בחיפוש.
output
הוא null.
המקודד נכשל לדחוס את הנתונים.
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");
}
}
הערות
אפשרי לשמור ארכיון באותו נתיב שבו הוא נטען. עם זאת, זה לא מומלץ כי גישה זו משתמשת בהעתקה לקובץ זמני.
חריגים
destinationFileName
הוא null.
המבצע אינו מורשה לגישה הנדרשת.
destinationFileName
ריק, מכיל רק רווחים, או מכיל תווים לא חוקיים.
הגישה לקובץ destinationFileName
נדחתה.
הנתיב שצוין destinationFileName
, שם הקובץ, או שניהם חורגים מהאורך המרבי המוגדר על ידי המערכת. לדוגמה, בפלטפורמות מבוססות Windows, הנתיבים חייבים להיות פחות מ-248 תווים, ושמות הקבצים חייבים להיות פחות מ-260 תווים.
הקובץ ב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).
לא ניתן להפוך ארכיון קיים לרב-נפחי.
חריגים
הארכיון הזה נפתח ממקור קיים.
destinationDirectory
הוא null.
המבצע אינו מורשה לגישה לקטלוג.
destinationDirectory
מכיל תווים לא חוקיים כמו “, >, <, או |.
הנתיב שצוין חורג מהאורך המרבי המוגדר על ידי המערכת.