Class GzipArchive

Class GzipArchive

名称: Aspose.Zip.Gzip 組み合わせ: Aspose.Zip.dll (25.5.0)

このクラスは gzip ファイルを表します. gzip ファイルを構成または抽出するために使用します。

public class GzipArchive : IArchive, IDisposable, IArchiveFileEntry

Inheritance

object GzipArchive

Implements

IArchive , IDisposable , IArchiveFileEntry

相続人

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

Remarks

Gzip 圧縮アルゴリズムは、LZ77 と Huffman コードの組み合わせである DEFLATE アルゴリズムに基づいています。

Constructors

GzipArchive()

Aspose.Zip.Gzip.Gzipアーカイブクラスの新しい例を開始し、圧縮に備えています。

public GzipArchive()

Examples

下記の例では、ファイルを圧縮する方法を示しています。

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

GzipArchive(ストリーム、ボール)

Aspose.Zip.Gzip.Gzipアーカイブクラスの新しい例を開始し、デコンプレッシャーに備えています。

public GzipArchive(Stream sourceStream, bool parseHeader = false)

Parameters

sourceStream Stream

アーカイブの源です。

parseHeader bool

ストリームヘッダーをパルスするかどうかにかかわらず、名前を含む属性を調べる。

Examples

ストリームからアーカイブを開き、それをエクストレートします。

var ms = new MemoryStream();
using (GzipArchive archive = new GzipArchive(File.OpenRead("archive.gz")))
  archive.Open().CopyTo(ms);

Remarks

この構造主はデコンプレッシャーしない. Aspose.Zip.Gzip.GzipArchive.Open デコンプレッシャー方法を参照してください。

Exceptions

ArgumentNullException

sourceStream’ is null.

EndOfStreamException

sourceStream’ is too short.

InvalidDataException

sourceStream’ は間違ったサインを持っています。

GzipArchive(ボール、ボール)

Aspose.Zip.Gzip.Gzipアーカイブクラスの新しい例を開始します。

public GzipArchive(string path, bool parseHeader = false)

Parameters

path string

ファイルへの道のり。

parseHeader bool

ストリームヘッダーをパルスするかどうかにかかわらず、名前を含む属性を調べる。

Examples

ルートによってファイルからアーカイブを開き、それに抽出します。

var ms = new MemoryStream();
using (GzipArchive archive = new GzipArchive("archive.gz"))
  archive.Open().CopyTo(ms);

Remarks

この構造主はデコンプレッシャーしない. Aspose.Zip.Gzip.GzipArchive.Open デコンプレッシャー方法を参照してください。

Exceptions

ArgumentNullException

path’ is null.

SecurityException

通話者には、必要なアクセス許可はありません。

ArgumentException

path’ は空っぽで、白いスペースのみが含まれ、または無効な文字が含まれています。

UnauthorizedAccessException

path" ファイルへのアクセスは拒否されます。

PathTooLongException

指定された path’, ファイル名, または両方ともシステム定義の最大長さを超えています. たとえば、Windows ベースのプラットフォームでは、パスは 248 文字未満で、ファイル名は 260 文字未満でなければなりません。

NotSupportedException

path’ のファイルには、列の真ん中のコロン(:)が含まれています。

EndOfStreamException

ファイルは短すぎる。

InvalidDataException

ファイル内のデータは間違ったサインを持っています。

Properties

Name

オリジナルファイルの名前

public string Name { get; }

不動産価値

string

UncompressedSize

オリジナルファイルのサイズを取得します。

public ulong UncompressedSize { get; }

不動産価値

ulong

Remarks

デコンプレッシャー期間中、この属性は不適切なサイズを含む可能性があります. 圧縮されていないファイルサイズが 4GB を超える場合、この属性はヘッダーの 32 ビットの制限のために誤った値を与えるでしょう。

Methods

Dispose()

応用によって定義された課題を実行し、未管理資源のリリース、リリース、またはリセットに関連しています。

public void Dispose()

Dispose(ボール)

応用によって定義された課題を実行し、未管理資源のリリース、リリース、またはリセットに関連しています。

protected virtual void Dispose(bool disposing)

Parameters

disposing bool

管理された資源は削除されるべきである。

Extract(Stream)

提供された流れにアーカイブを抽出します。

public void Extract(Stream destination)

Parameters

destination Stream

目的地の流れは、書くべきです。

Examples

using (var archive = new GzipArchive("archive.gz"))
{
     archive.Extract(httpResponseStream);
}

Exceptions

ArgumentException

destination’ does not support writing.

InvalidDataException

ストリームは腐敗しており、有効なデータは含まれていません。

Extract(ストレッチ)

ファイルを経由でファイルに抽出します。

public FileInfo Extract(string path)

Parameters

path string

ターゲットファイルへのルート. ファイルが既に存在している場合、それは過剰に書かれます。

Returns

FileInfo

抽出されたファイルの情報

Exceptions

ArgumentNullException

path’ is null.

SecurityException

通話者には、必要なアクセス許可はありません。

ArgumentException

path’ は空っぽで、白いスペースのみが含まれ、または無効な文字が含まれています。

UnauthorizedAccessException

path" ファイルへのアクセスは拒否されます。

PathTooLongException

指定された path’, ファイル名, または両方ともシステム定義の最大長さを超えています. たとえば、Windows ベースのプラットフォームでは、パスは 248 文字未満で、ファイル名は 260 文字未満でなければなりません。

NotSupportedException

path’ のファイルには、列の真ん中のコロン(:)が含まれています。

InvalidDataException

ストリームは腐敗しており、有効なデータは含まれていません。

ExtractToDirectory(ストレッチ)

提供されたディレクトリにアーカイブのコンテンツを抽出します。

public void ExtractToDirectory(string destinationDirectory)

Parameters

destinationDirectory string

引き出されたファイルを入力するためのディレクトリへのルート。

Remarks

ディレクトリが存在しない場合は、作成されます。

Exceptions

ArgumentNullException

destinationDirectory’ is null.

PathTooLongException

例えば、Windows ベースのプラットフォームでは、パスは 248 文字未満で、ファイル名は 260 文字未満でなければなりません。

SecurityException

通話者は、既存のディレクトリにアクセスするための必要な許可はありません。

NotSupportedException

ディレクトリが存在しない場合、コースには、ドライブラベル(「C:」)の一部ではないコロン文字(:)が含まれています。

ArgumentException

destinationDirectory’ is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters by using the System.IO.Path.GetInvalidPathChars method.-or- path is prefixed with, or contains, only a colon character (:).

IOException

ルートによって指定されたディレクトリはファイルです. -or- ネットワーク名は知られていません。

Open()

抽出のためのアーカイブを開き、アーカイブコンテンツの流れを提供します。

public Stream Open()

Returns

Stream

アーカイブの内容を表す流れ。

Examples

アーカイブを抽出し、抽出されたコンテンツをファイルストリームにコピーします。

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.Kopy To(抽出);

Remarks

ストリームから読んでファイルのオリジナルコンテンツを取得します。

Save(Stream)

提供されたストリームにアーカイブを保存します。

public void Save(Stream outputStream)

Parameters

outputStream Stream

目的地の流れ

Examples

圧縮されたデータを http 応答ストリームに書き込む。

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

Remarks

書くべきである。

Exceptions

ArgumentException

outputStream’ is not writable.

InvalidOperationException

源は提供されていません。

Save(ストレッチ)

提供された目的地ファイルにアーカイブを保存します。

public void Save(string destinationFileName)

Parameters

destinationFileName string

ファイル名が既存のファイルを指定した場合、それは書き換えられます。

Examples

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

Exceptions

ArgumentNullException

destinationFileName’ is null.

SecurityException

通話者には、必要なアクセス許可はありません。

ArgumentException

destinationFileName’ は空っぽで、白いスペースのみが含まれ、または無効な文字が含まれています。

UnauthorizedAccessException

ファイルへのアクセス destinationFileName’ は拒否されます。

PathTooLongException

指定された destinationFileName、ファイル名、または両方がシステムによって定義された最大長さを超える。例えば、Windows ベースのプラットフォームでは、パスは 248 文字未満で、ファイル名は 260 文字未満でなければなりません。

NotSupportedException

ファイル destinationFileName’ には、列の真ん中のコロン(:)が含まれています。

SetSource(Stream)

コンテンツをファイル内で圧縮するように設定します。

public void SetSource(Stream source)

Parameters

source Stream

アーカイブへの入力ストリーム

Examples

using (var archive = new GzipArchive())
{
    archive.SetSource(new MemoryStream(new byte[] { 0x00, 0xFF }));
    archive.Save("archive.gz");
}

SetSource(FileInfo)

コンテンツをファイル内で圧縮するように設定します。

public void SetSource(FileInfo fileInfo)

Parameters

fileInfo FileInfo

圧縮されるファイルへの参照

Examples

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

SetSource(ストレッチ)

コンテンツをファイル内で圧縮するように設定します。

public void SetSource(string path)

Parameters

path string

ファイルを圧縮する方法

Examples

ルートによってファイルからアーカイブを開き、それに抽出します。

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

Exceptions

ArgumentNullException

path’ is null.

SecurityException

通話者には、必要なアクセス許可はありません。

ArgumentException

path’ は空っぽで、白いスペースのみが含まれ、または無効な文字が含まれています。

UnauthorizedAccessException

path" ファイルへのアクセスは拒否されます。

PathTooLongException

指定された path’, ファイル名, または両方ともシステム定義の最大長さを超えています. たとえば、Windows ベースのプラットフォームでは、パスは 248 文字未満で、ファイル名は 260 文字未満でなければなりません。

NotSupportedException

path’ のファイルには、列の真ん中のコロン(:)が含まれています。

SetSource(TarArchive)

コンテンツをファイル内で圧縮するように設定します。

public void SetSource(TarArchive tarArchive)

Parameters

tarArchive TarArchive

アーカイブを圧縮する。

Examples

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

Remarks

この方法を使用して、関連するtar.gz アーカイブを作成します。

 日本語