D 1.0   D 2.0
About Japanese Translation

Last update Wed Jul 9 01:24:41 2008

std.zip

zip書庫 の読み書きを行います。 etc.c.zlib 圧縮ライブラリを使用しています。

BUGS:


class ZipException: object.Exception;
エラー時に送出されます

class ArchiveMember;
ZipArchive の一つ一つののメンバを表現

ushort madeVersion;
読み取り専用

ushort extractVersion;
読み取り専用

ushort flags;
書き込み可能: 通常は0

ushort compressionMethod;
書き込み可能: 0は非圧縮、8はdeflate

std.date.DosFileTime time;
書き込み可能: メンバの最終更新日時。DOS の date/time 形式で表現されています

uint crc32;
読み取り専用: 巡回冗長検査 (CRC) 値

size_t compressedSize;
読み取り専用: 圧縮後のデータサイズ

size_t expandedSize;
読み取り専用: 非圧縮状態でのデータサイズ

ushort diskNumber;
読み取り専用: 0

ushort internalAttributes;
書き込み可能

uint externalAttributes;
書き込み可能

string name;
書き込み可能: 通常は、書庫メンバのファイル名です。書庫の directory のインデックス として内部で使用されていますので、各メンバは書庫内で唯一の name[] を持つ必要が あります。また、name の変更は directory からメンバを削除してから行わなければなりません。

ubyte[] extra;
書き込み可能: このメンバのExtraデータ

string comment;
書き込み可能: このメンバに関連付けられたコメント

ubyte[] compressedData;
読み取り専用: 圧縮後のデータ

ubyte[] expandedData;
書き込み可能: 非圧縮状態のデータ

class ZipArchive;
書庫全体を表すオブジェクト。 ZipArchives は ArchiveMembers の集まりです

ubyte[] data;
読み取り専用: 書庫全体のデータを表す配列

uint diskNumber;
読み取り専用: 分割zipに非対応なため、常に0です

uint diskStartDir;
読み取り専用: 分割zipに非対応なため、常に0です

uint numEntries;
読み取り専用: directory内のArchiveMemberの個数

uint totalEntries;
読み取り専用: numEntries と同義

string comment;
書き込み可能: 書庫につけるコメント。65536バイト未満でなければなりません

ArchiveMember[string] directory;
読み取り専用: メンバの名前によってインデックスのついた配列。

Example:
foreachループによって、全てのメンバにアクセスできます:
 ZipArchive archive = new ZipArchive(data);
 foreach (ArchiveMember am; archive.directory)
 {
     writefln("member name is '%s'", am.name);
 }


this();
書庫を新規作成するときに使用するコンストラクタです。

void addMember(ArchiveMember de);
de を書庫に追加します。

void deleteMember(ArchiveMember de);
de を書庫から削除します。

void[] build();
現在のメンバを元に、書庫ファイルを構築します。

以下のプロパティが設定されます。 data[], diskNumber, diskStartDir, numEntries, totalEntries, directory[]。 またそれぞれの ArchiveMember について、 crc32, compressedSize, compressedData[] が設定されます。

Returns:
書庫全体を表す配列を返します。

this(void[] buffer);
既存の書庫を読み込む際に使用するコンストラクタです

以下のプロパティが設定されます。 data[], diskNumber, diskStartDir, numEntries, totalEntries, comment[], directory[]。 またそれぞれの ArchiveMember について、 madeVersion, extractVersion, flags, compressionMethod, time, crc32, compressedSize, expandedSize, compressedData[], diskNumber, internalAttributes, externalAttributes, name[], extra[], comment[]. 展開済みデータを ArchiveMember から得るには、expand() を使ってください。

Params:
void[] buffer 書庫全体の内容

ubyte[] expand(ArchiveMember de);
書庫のメンバ de の内容を展開し、 展開済みデータを返します。

以下のプロパティが設定されます。extractVersion, flags, compressionMethod, time, crc32, compressedSize, expandedSize, expandedData[], name[], extra[].