Class GzipArchive

Class GzipArchive

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

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

public class GzipArchive : IArchive, IDisposable, IArchiveFileEntry

ירושה

objectGzipArchive

מיישם

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 לדחיסה.

חריגים

ArgumentNullException

path הוא null.

SecurityException

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

ArgumentException

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

UnauthorizedAccessException

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

PathTooLongException

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

NotSupportedException

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

מאפיינים

Name

שם הקובץ המקורי.

public string Name { get; }

ערך המאפיין

string

שיטות

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

חריגים

ArgumentException

destination לא תומך בכתיבה.

InvalidDataException

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

Extract(string)

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

public FileInfo Extract(string path)

פרמטרים

path string

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

מחזיר

FileInfo

מידע על הקובץ המוצא.

חריגים

ArgumentNullException

path הוא null.

SecurityException

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

ArgumentException

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

UnauthorizedAccessException

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

PathTooLongException

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

NotSupportedException

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

InvalidDataException

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

ExtractToDirectory(string)

חולץ את תוכן הארכיון לתיקיה שניתנה.

public void ExtractToDirectory(string destinationDirectory)

פרמטרים

destinationDirectory string

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

הערות

אם התיקיה לא קיימת, היא תיווצר.

חריגים

ArgumentNullException

destinationDirectory הוא null.

PathTooLongException

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

SecurityException

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

NotSupportedException

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

ArgumentException

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

IOException

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

Open()

פותח את הארכיון לחילוץ ומספק זרם עם תוכן הארכיון.

public Stream Open()

מחזיר

Stream

הזרם שמייצג את תוכן הארכיון.

דוגמאות

חולץ את הארכיון ומעתיק את התוכן המוצא לזרם קובץ.

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 חייב להיות ניתן לכתיבה.

חריגים

ArgumentException

outputStream אינו ניתן לכתיבה.

InvalidOperationException

המקור לא סופק.

Save(string)

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

public void Save(string destinationFileName)

פרמטרים

destinationFileName string

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

דוגמאות

using (var archive = new GzipArchive())
{
    archive.SetSource("data.bin");
    archive.Save("archive.gz");
}

חריגים

ArgumentNullException

destinationFileName הוא null.

SecurityException

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

ArgumentException

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

UnauthorizedAccessException

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

PathTooLongException

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

NotSupportedException

הקובץ ב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");
}

חריגים

ArgumentNullException

path הוא null.

SecurityException

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

ArgumentException

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

UnauthorizedAccessException

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

PathTooLongException

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

NotSupportedException

הקובץ ב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 משולב.

 Ελληνικά