前のページ次のページ上に戻るホーム SophiaFramework UNIVERSE 5.3

18.8. SFXZIPDecoder クラス

SFXZIPDecoder クラスは、 SFXFileSFXTCPSocket などのストレージや SFBSourceSFBAStream に格納された gzip による Deflate 圧縮データを解凍するときに使用します。

■ SFXZIPDecoder クラスの使用手順

  1. SFXZIPDecoder インスタンスを生成します。
  2. SFXZIPDecoder::Open 関数を呼び出して、 Deflate 圧縮されたストレージ、ストリーム、またはソースを SFXZIPDecoder ストレージに設定します。
  3. SFXZIPDecoder::GetStreamReader 関数を呼び出してストリームを取得し、 SFXZIPDecoder ストレージからデータを読み込みます(このとき、データは解凍されています)。
  4. ※ストリームを利用しない場合は、 SFXZIPDecoder::Read 関数を呼び出してデータを読み込みます。
  5. SFXZIPDecoder::Close 関数を呼び出して SFXZIPDecoder ストレージを閉じます。
[Note] 制限事項

データの読み込みだけがサポートされます。データの書き込みはサポートされません。 また、読み込み位置の移動もサポートしません。

例 18.11. 初期処理

SFXFile file;
SFXZIPDecoder decoder;
SFXAnsiString string;

// ファイルを開く
file.Open(SFXPath("/testdata.tar.gz"));

// ファイルストレージをデコーダに設定する
// ( SFBSource や SFBAStream インスタンスも登録できる )
decoder.Open(file);

// 読み込み用ストリームを取得する
decoder.GetStreamReader(&reader);

例 18.12. 終了処理

decoder.Close();
file.Close();

詳細情報 : サンプルコード