Class Bzip2Archive

Class Bzip2Archive

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

このクラスはbzip2アーカイブファイルを表します。bzip2アーカイブを作成または抽出するために使用します。

public class Bzip2Archive : IArchive, IDisposable, IArchiveFileEntry

継承

objectBzip2Archive

実装

IArchive, IDisposable, IArchiveFileEntry

継承メンバー

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

注意事項

bzip2は、Burrows-Wheelerブロックソートテキスト圧縮アルゴリズムとハフマン符号化を使用してファイルを圧縮します。詳細については、https://en.wikipedia.org/wiki/Bzip2を参照してください。

コンストラクター

Bzip2Archive()

圧縮のために準備されたAspose.Zip.Bzip2.Bzip2Archiveクラスの新しいインスタンスを初期化します。

public Bzip2Archive()

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

using (Bzip2Archive archive = new Bzip2Archive()) 
{
    archive.SetSource("data.bin");
    archive.Save("archive.bz2");
}

Bzip2Archive(Stream, Bzip2LoadOptions)

解凍のために準備されたAspose.Zip.Bzip2.Bzip2Archiveクラスの新しいインスタンスを初期化します。

public Bzip2Archive(Stream sourceStream, Bzip2LoadOptions loadOptions = null)

パラメーター

sourceStream Stream

アーカイブのソース。

loadOptions Bzip2LoadOptions

アーカイブを読み込むためのオプション。

ストリームからアーカイブを開き、MemoryStreamに抽出します。

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

注意事項

このコンストラクターは解凍を行いません。解凍のためにはAspose.Zip.Bzip2.Bzip2Archive.Openメソッドを参照してください。

Bzip2Archive(string, Bzip2LoadOptions)

解凍のために準備されたAspose.Zip.Bzip2.Bzip2Archiveクラスの新しいインスタンスを初期化します。

public Bzip2Archive(string path, Bzip2LoadOptions loadOptions = null)

パラメーター

path string

アーカイブファイルへのパス。

loadOptions Bzip2LoadOptions

アーカイブを読み込むためのオプション。

パスからファイルのアーカイブを開き、MemoryStreamに抽出します。

var ms = new MemoryStream();
using (Bzip2Archive archive = new Bzip2Archive("archive.bz2"))
  archive.Open().CopyTo(ms);

注意事項

このコンストラクターは解凍を行いません。解凍のためにはAspose.Zip.Bzip2.Bzip2Archive.Openメソッドを参照してください。

例外

ArgumentNullException

pathがnullです。

SecurityException

呼び出し元は必要なアクセス許可を持っていません。

ArgumentException

pathが空、空白のみ、または無効な文字を含んでいます。

UnauthorizedAccessException

pathへのファイルアクセスが拒否されました。

PathTooLongException

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

NotSupportedException

pathの中にコロン(:)が含まれています。

FileNotFoundException

ファイルが見つかりません。

DirectoryNotFoundException

指定されたパスが無効です(例えば、マッピングされていないドライブ上にあるなど)。

IOException

ファイルはすでに開いています。

メソッド

Dispose()

管理されていないリソースの解放、リリース、またはリセットに関連するアプリケーション定義のタスクを実行します。

public void Dispose()

Dispose(bool)

管理されていないリソースの解放、リリース、またはリセットに関連するアプリケーション定義のタスクを実行します。

protected virtual void Dispose(bool disposing)

パラメーター

disposing bool

管理されたリソースを解放すべきかどうか。

Extract(Stream)

指定されたストリームにアーカイブを抽出します。

public void Extract(Stream destination)

パラメーター

destination Stream

宛先ストリーム。書き込み可能でなければなりません。

using (Bzip2Archive archive = new Bzip2Archive("archive.bz2"))
{
     archive.Extract(httpResponseStream);
}

例外

ArgumentException

destinationは書き込みをサポートしていません。

Extract(string)

指定されたパスのファイルにアーカイブを抽出します。

public FileInfo Extract(string path)

パラメーター

path string

宛先ファイルへのパス。ファイルがすでに存在する場合は上書きされます。

戻り値

FileInfo

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

例外

ArgumentNullException

pathがnullです。

SecurityException

呼び出し元は必要なアクセス許可を持っていません。

ArgumentException

pathが空、空白のみ、または無効な文字を含んでいます。

UnauthorizedAccessException

pathへのファイルアクセスが拒否されました。

PathTooLongException

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

NotSupportedException

pathの中にコロン(:)が含まれています。

FileNotFoundException

ファイルが見つかりません。

DirectoryNotFoundException

指定されたパスが無効です(例えば、マッピングされていないドライブ上にあるなど)。

IOException

ファイルはすでに開いています。

ExtractToDirectory(string)

アーカイブの内容を指定されたディレクトリに抽出します。

public void ExtractToDirectory(string destinationDirectory)

パラメーター

destinationDirectory string

抽出されたファイルを配置するディレクトリへのパス。

注意事項

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

例外

ArgumentNullException

destinationDirectoryがnullです。

PathTooLongException

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

SecurityException

呼び出し元は既存のディレクトリにアクセスするための必要な権限を持っていません。

NotSupportedException

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

ArgumentException

destinationDirectoryがゼロ長の文字列、空白のみ、または無効な文字の1つ以上を含んでいます。無効な文字を調べるには、System.IO.Path.GetInvalidPathCharsメソッドを使用できます。 -または- パスがコロン文字(:)のみで構成されています。

IOException

指定されたパスがファイルです。 -または- ネットワーク名が不明です。

Open()

アーカイブを抽出のために開き、アーカイブコンテンツを持つストリームを提供します。

public Stream Open()

戻り値

Stream

アーカイブの内容を表すストリーム。

使用法: Stream decompressed = archive.Open();

.NET 4.0以降 - Stream.CopyToメソッドを使用: decompressed.CopyTo(httpResponse.OutputStream)

.NET 3.5以前 - バイトを手動でコピー:

byte[] buffer = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(buffer, 0, buffer.Length)))
 fileStream.Write(buffer, 0, bytesRead);
```</p>

#### 注意事項

ストリームから読み取って、ファイルの元の内容を取得します。例のセクションを参照してください。

### <a id="Aspose_Zip_Bzip2_Bzip2Archive_Save_System_IO_Stream_Aspose_Zip_Bzip2_Bzip2SaveOptions_"></a> Save\(Stream, Bzip2SaveOptions\)

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

```csharp
public void Save(Stream outputStream, Bzip2SaveOptions saveOptions = null)

パラメーター

outputStream Stream

宛先ストリーム。

saveOptions Bzip2SaveOptions

bzip2アーカイブを保存するためのオプション。指定しない場合は、900 Kbのブロックサイズが使用されます。

圧縮データをhttp応答ストリームに書き込みます。

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

注意事項

outputStreamは書き込み可能でなければなりません。

例外

InvalidOperationException

アーカイブするデータのソースが提供されていません。

ArgumentException

outputStreamは書き込み可能ではありません。

UnauthorizedAccessException

ファイルソースが読み取り専用であるか、ディレクトリです。

DirectoryNotFoundException

指定されたファイルソースパスが無効です(例えば、マッピングされていないドライブ上にあるなど)。

IOException

ファイルソースはすでに開いています。

Save(string, Bzip2SaveOptions)

指定された宛先ファイルにアーカイブを保存します。

public void Save(string destinationFileName, Bzip2SaveOptions saveOptions = null)

パラメーター

destinationFileName string

作成するアーカイブのパス。指定されたファイル名が既存のファイルを指す場合は、上書きされます。

saveOptions Bzip2SaveOptions

bzip2アーカイブを保存するためのオプション。指定しない場合は、900 Kbのブロックサイズが使用されます。

圧縮データをファイルに書き込みます。

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

例外

ArgumentNullException

destinationFileNameがnullです。

SecurityException

呼び出し元は必要なアクセス許可を持っていません。

ArgumentException

destinationFileNameが空、空白のみ、または無効な文字を含んでいます。

UnauthorizedAccessException

destinationFileNameへのファイルアクセスが拒否されました。

PathTooLongException

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

NotSupportedException

destinationFileNameの中にコロン(:)が含まれています。

SetSource(Stream)

アーカイブ内で圧縮されるコンテンツを設定します。

public void SetSource(Stream source)

パラメーター

source Stream

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

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

SetSource(FileInfo)

アーカイブ内で圧縮されるコンテンツを設定します。

public void SetSource(FileInfo fileInfo)

パラメーター

fileInfo FileInfo

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

using (Bzip2Archive archive = new Bzip2Archive()) 
{
    archive.SetSource(new FileInfo("data.bin"));
    archive.Save("archive.bz2");
}

SetSource(string)

アーカイブ内で圧縮されるコンテンツを設定します。

public void SetSource(string path)

パラメーター

path string

圧縮されるファイルへのパス。

using (Bzip2Archive archive = new Bzip2Archive()) 
{
    archive.SetSource("data.bin");
    archive.Save("archive.bz2");
}

例外

ArgumentNullException

pathがnullです。

SecurityException

呼び出し元は必要なアクセス許可を持っていません。

ArgumentException

pathが空、空白のみ、または無効な文字を含んでいます。

UnauthorizedAccessException

pathへのファイルアクセスが拒否されました。

PathTooLongException

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

NotSupportedException

pathの中にコロン(:)が含まれています。

SetSource(TarArchive, TarFormat)

アーカイブ内で圧縮されるコンテンツを設定します。

public void SetSource(TarArchive tarArchive, TarFormat format = TarFormat.UsTar)

パラメーター

tarArchive TarArchive

圧縮されるtarアーカイブ。

format TarFormat

tarヘッダー形式を定義します。

using (var tarArchive = new TarArchive())
{
    tarArchive.CreateEntry("first.bin", "data1.bin");
    tarArchive.CreateEntry("second.bin", "data2.bin");
    using (var bzippedArchive = new Bzip2Archive())
    {
        bzippedArchive.SetSource(tarArchive);
        bzippedArchive.Save("archive.tar.bz2");
    }
}

注意事項

このメソッドを使用して、結合tar.bz2アーカイブを作成します。

SetSource(CpioArchive, CpioFormat)

アーカイブ内で圧縮されるコンテンツを設定します。

public void SetSource(CpioArchive cpioArchive, CpioFormat format = CpioFormat.OldAscii)

パラメーター

cpioArchive CpioArchive

圧縮されるCpioアーカイブ。

format CpioFormat

cpioヘッダー形式を定義します。

using (var cpioArchive = new CpioArchive())
{
    cpioArchive.CreateEntry("first.bin", "data1.bin");
    cpioArchive.CreateEntry("second.bin", "data2.bin");
    using (var bzippedArchive = new Bzip2Archive())
    {
        bzippedArchive.SetSource(cpioArchive);
        bzippedArchive.Save("archive.cpio.bz2");
    }
}

注意事項

このメソッドを使用して、結合cpio.bz2アーカイブを作成します。

 日本語