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圧縮アルゴリズムは、LZ77とハフマン符号化の組み合わせであるDEFLATEアルゴリズムに基づいています。
コンストラクタ
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です。
呼び出し元にはアクセスするための必要な権限がありません。
path
は空であるか、空白のみを含むか、無効な文字を含んでいます。
ファイル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です。
呼び出し元にはアクセスするための必要な権限がありません。
path
は空であるか、空白のみを含むか、無効な文字を含んでいます。
ファイルpath
へのアクセスが拒否されました。
指定されたpath
、ファイル名、またはその両方がシステム定義の最大長を超えています。たとえば、Windowsベースのプラットフォームでは、パスは248文字未満でなければならず、ファイル名は260文字未満でなければなりません。
path
に文字列の中間にコロン(:)が含まれています。
ストリームが破損しており、有効なデータを含んでいません。
ExtractToDirectory(string)
アーカイブの内容を指定されたディレクトリに抽出します。
public void ExtractToDirectory(string destinationDirectory)
パラメータ
destinationDirectory
string
抽出されたファイルを配置するディレクトリへのパス。
備考
ディレクトリが存在しない場合は、作成されます。
例外
destinationDirectory
はnullです。
指定されたパス、ファイル名、またはその両方がシステム定義の最大長を超えています。たとえば、Windowsベースのプラットフォームでは、パスは248文字未満でなければならず、ファイル名は260文字未満でなければなりません。
呼び出し元には既存のディレクトリにアクセスするための必要な権限がありません。
ディレクトリが存在しない場合、パスにドライブラベルの一部ではないコロン文字(:)が含まれています。
destinationDirectory
はゼロ長の文字列であるか、空白のみを含むか、無効な文字が1つ以上含まれています。無効な文字をクエリするには、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);
}
}
.NET 4.0以降ではStream.CopyToメソッドを使用できます: `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です。
呼び出し元にはアクセスするための必要な権限がありません。
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です。
呼び出し元にはアクセスするための必要な権限がありません。
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アーカイブを作成します。