Class GzipArchive
Namespace: Aspose.Zip.Gzip
Assembly: Aspose.Zip.dll (25.1.0)
מחלקה זו מייצגת קובץ ארכיון gzip. השתמש בה כדי להרכיב או לחלץ ארכיוני gzip.
public class GzipArchive : IArchive, IDisposable, IArchiveFileEntry
ירושה
מיישם
IArchive, IDisposable, IArchiveFileEntry
חברים ירושים
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
הערות
אלגוריתם דחיסת Gzip מבוסס על אלגוריתם DEFLATE, שהוא שילוב של LZ77 וקידוד Huffman.
בונים
GzipArchive()
מאתחל מופע חדש של מחלקת Aspose.Zip.Gzip.GzipArchive המוכן לדחיסה.
public GzipArchive()
דוגמאות
הדוגמה הבאה מראה כיצד לדחוס קובץ.
using (GzipArchive archive = new GzipArchive())
{
archive.SetSource("data.bin");
archive.Save("archive.gz");
}
GzipArchive(Stream, bool)
מאתחל מופע חדש של מחלקת Aspose.Zip.Gzip.GzipArchive המוכן לדחיסה.
public GzipArchive(Stream sourceStream, bool parseHeader = false)
פרמטרים
sourceStream
Stream
מקור הארכיון.
parseHeader
bool
האם לנתח את כותרת הזרם כדי להבין תכונות, כולל שם. זה הגיוני רק עבור זרם שניתן לחפש.
דוגמאות
פתח ארכיון מזרם וחלץ אותו ל-MemoryStream
var ms = new MemoryStream();
using (GzipArchive archive = new GzipArchive(File.OpenRead("archive.gz")))
archive.Open().CopyTo(ms);
הערות
בונה זה לא מבצע דחיסה. ראה את שיטת Aspose.Zip.Gzip.GzipArchive.Open לדחיסה.
GzipArchive(string, bool)
מאתחל מופע חדש של מחלקת Aspose.Zip.Gzip.GzipArchive.
public GzipArchive(string path, bool parseHeader = false)
פרמטרים
path
string
הנתיב לקובץ הארכיון.
parseHeader
bool
האם לנתח את כותרת הזרם כדי להבין תכונות, כולל שם. זה הגיוני רק עבור זרם שניתן לחפש.
דוגמאות
פתח ארכיון מקובץ לפי נתיב וחלץ אותו ל-MemoryStream
var ms = new MemoryStream();
using (GzipArchive archive = new GzipArchive("archive.gz"))
archive.Open().CopyTo(ms);
הערות
בונה זה לא מבצע דחיסה. ראה את שיטת Aspose.Zip.Gzip.GzipArchive.Open לדחיסה.
חריגים
path
הוא null.
ה caller אינו בעל ההרשאה הנדרשת לגישה.
path
ריק, מכיל רק רווחים או מכיל תווים לא חוקיים.
גישה לקובץ path
נדחתה.
הנתיב, שם הקובץ או שניהם חורגים מהאורך המרבי המוגדר על ידי המערכת. לדוגמה, בפלטפורמות מבוססות Windows, נתיבים חייבים להיות פחות מ-248 תווים, ושמות קבצים חייבים להיות פחות מ-260 תווים.
הקובץ בpath
מכיל נקודתיים (:) באמצע המחרוזת.
מאפיינים
Name
שם הקובץ המקורי.
public string Name { get; }
ערך המאפיין
שיטות
Dispose()
מבצע משימות מוגדרות על ידי היישום הקשורות לשחרור, שחרור או איפוס של משאבים לא מנוהלים.
public void Dispose()
Dispose(bool)
מבצע משימות מוגדרות על ידי היישום הקשורות לשחרור, שחרור או איפוס של משאבים לא מנוהלים.
protected virtual void Dispose(bool disposing)
פרמטרים
disposing
bool
האם משאבים מנוהלים צריכים להיות משוחררים.
Extract(Stream)
חולץ את הארכיון לזרם שניתן.
public void Extract(Stream destination)
פרמטרים
destination
Stream
זרם יעד. חייב להיות ניתן לכתיבה.
דוגמאות
using (var archive = new GzipArchive("archive.gz"))
{
archive.Extract(httpResponseStream);
}
חריגים
destination
לא תומך בכתיבה.
הזרם פגום ואינו מכיל נתונים חוקיים.
Extract(string)
חולץ את הארכיון לקובץ לפי נתיב.
public FileInfo Extract(string path)
פרמטרים
path
string
הנתיב לקובץ היעד. אם הקובץ כבר קיים, הוא יוחלף.
מחזיר
מידע על הקובץ המוצא.
חריגים
path
הוא null.
ה caller אינו בעל ההרשאה הנדרשת לגישה.
path
ריק, מכיל רק רווחים או מכיל תווים לא חוקיים.
גישה לקובץ path
נדחתה.
הנתיב, שם הקובץ או שניהם חורגים מהאורך המרבי המוגדר על ידי המערכת. לדוגמה, בפלטפורמות מבוססות Windows, נתיבים חייבים להיות פחות מ-248 תווים, ושמות קבצים חייבים להיות פחות מ-260 תווים.
הקובץ בpath
מכיל נקודתיים (:) באמצע המחרוזת.
הזרם פגום ואינו מכיל נתונים חוקיים.
ExtractToDirectory(string)
חולץ את תוכן הארכיון לתיקיה שניתנה.
public void ExtractToDirectory(string destinationDirectory)
פרמטרים
destinationDirectory
string
הנתיב לתיקיה שבה ייכנסו הקבצים המוצאים.
הערות
אם התיקיה לא קיימת, היא תיווצר.
חריגים
destinationDirectory
הוא null.
הנתיב, שם הקובץ או שניהם חורגים מהאורך המרבי המוגדר על ידי המערכת. לדוגמה, בפלטפורמות מבוססות Windows, נתיבים חייבים להיות פחות מ-248 תווים ושמות קבצים חייבים להיות פחות מ-260 תווים.
ה caller אינו בעל ההרשאה הנדרשת לגישה לתיקיה הקיימת.
אם התיקיה לא קיימת, הנתיב מכיל תו נקודתיים (:) שאינו חלק מתווית כונן (“C:").
destinationDirectory
הוא מחרוזת באורך אפס, מכילה רק רווחים או מכילה תו לא חוקי אחד או יותר. ניתן לבדוק תווים לא חוקיים באמצעות השיטה System.IO.Path.GetInvalidPathChars.
-או- הנתיב מקדים, או מכיל, רק תו נקודתיים (:).
התיקיה המצוינת על ידי הנתיב היא קובץ. -או- שם הרשת אינו ידוע.
Open()
פותח את הארכיון לחילוץ ומספק זרם עם תוכן הארכיון.
public Stream Open()
מחזיר
הזרם שמייצג את תוכן הארכיון.
דוגמאות
חולץ את הארכיון ומעתיק את התוכן המוצא לזרם קובץ.
using (var archive = new GzipArchive("archive.gz"))
{
using (var extracted = File.Create("data.bin"))
{
var unpacked = archive.Open();
byte[] b = new byte[8192];
int bytesRead;
while (0 < (bytesRead = unpacked.Read(b, 0, b.Length)))
extracted.Write(b, 0, bytesRead);
}
}
ניתן להשתמש בשיטת Stream.CopyTo עבור .NET 4.0 ומעלה: `unpacked.CopyTo(extracted);`
הערות
קרא מהזרם כדי לקבל את תוכן הקובץ המקורי. ראה את סעיף הדוגמאות.
Save(Stream)
שומר את הארכיון לזרם שניתן.
public void Save(Stream outputStream)
פרמטרים
outputStream
Stream
זרם יעד.
דוגמאות
כותב נתוני דחיסה לזרם תגובה http.
using (var archive = new GzipArchive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save(httpResponse.OutputStream);
}
הערות
outputStream
חייב להיות ניתן לכתיבה.
חריגים
outputStream
אינו ניתן לכתיבה.
המקור לא סופק.
Save(string)
שומר את הארכיון לקובץ יעד שניתן.
public void Save(string destinationFileName)
פרמטרים
destinationFileName
string
הנתיב של הארכיון שצריך להיווצר. אם שם הקובץ המצויין מצביע על קובץ קיים, הוא יוחלף.
דוגמאות
using (var archive = new GzipArchive())
{
archive.SetSource("data.bin");
archive.Save("archive.gz");
}
חריגים
destinationFileName
הוא null.
ה caller אינו בעל ההרשאה הנדרשת לגישה.
destinationFileName
ריק, מכיל רק רווחים או מכיל תווים לא חוקיים.
גישה לקובץ destinationFileName
נדחתה.
הנתיב המצויין destinationFileName
, שם הקובץ, או שניהם חורגים מהאורך המרבי המוגדר על ידי המערכת. לדוגמה, בפלטפורמות מבוססות Windows, נתיבים חייבים להיות פחות מ-248 תווים, ושמות קבצים חייבים להיות פחות מ-260 תווים.
הקובץ בdestinationFileName
מכיל נקודתיים (:) באמצע המחרוזת.
SetSource(Stream)
מגדיר את התוכן שצריך להיות דחוס בתוך הארכיון.
public void SetSource(Stream source)
פרמטרים
source
Stream
הזרם הקלט עבור הארכיון.
דוגמאות
using (var archive = new GzipArchive())
{
archive.SetSource(new MemoryStream(new byte[] { 0x00, 0xFF }));
archive.Save("archive.gz");
}
SetSource(FileInfo)
מגדיר את התוכן שצריך להיות דחוס בתוך הארכיון.
public void SetSource(FileInfo fileInfo)
פרמטרים
fileInfo
FileInfo
ההפניה לקובץ שצריך להיות דחוס.
דוגמאות
using (var archive = new GzipArchive())
{
archive.SetSource(new FileInfo("data.bin"));
archive.Save("archive.gz");
}
SetSource(string)
מגדיר את התוכן שצריך להיות דחוס בתוך הארכיון.
public void SetSource(string path)
פרמטרים
path
string
נתיב לקובץ שצריך להיות דחוס.
דוגמאות
פתח ארכיון מקובץ לפי נתיב וחלץ אותו ל-MemoryStream
using (var archive = new GzipArchive())
{
archive.SetSource("data.bin");
archive.Save("archive.gz");
}
חריגים
path
הוא null.
ה caller אינו בעל ההרשאה הנדרשת לגישה.
path
ריק, מכיל רק רווחים או מכיל תווים לא חוקיים.
גישה לקובץ path
נדחתה.
הנתיב המצויין path
, שם הקובץ, או שניהם חורגים מהאורך המרבי המוגדר על ידי המערכת. לדוגמה, בפלטפורמות מבוססות Windows, נתיבים חייבים להיות פחות מ-248 תווים, ושמות קבצים חייבים להיות פחות מ-260 תווים.
הקובץ בpath
מכיל נקודתיים (:) באמצע המחרוזת.
SetSource(TarArchive)
מגדיר את התוכן שצריך להיות דחוס בתוך הארכיון.
public void SetSource(TarArchive tarArchive)
פרמטרים
tarArchive
TarArchive
ארכיון Tar שצריך להיות דחוס.
דוגמאות
using (var tarArchive = new TarArchive())
{
tarArchive.CreateEntry("first.bin", "data1.bin");
tarArchive.CreateEntry("second.bin", "data2.bin");
using (var gzippedArchive = new GzipArchive())
{
gzippedArchive.SetSource(tarArchive);
gzippedArchive.Save("archive.tar.gz");
}
}
הערות
השתמש בשיטה זו כדי להרכיב ארכיון tar.gz משולב.