継承元: nsISupports
実装: @mozilla.org/libjar/zip-reader;1
。インスタンスを作成するには、以下のように記述します。
var zReader = Components.classes["@mozilla.org/libjar/zip-reader;1"] .createInstance(Components.interfaces.nsIZipReader);
メソッドの概要
void open(in nsIFile zipFile) |
void close() |
void test(in string aEntryName) |
void extract(in string zipEntry, in nsIFile outFile) |
nsIZipEntry getEntry(in string zipEntry) |
boolean hasEntry(in AUTF8String zipEntry) |
nsIUTF8StringEnumerator findEntries(in string aPattern) |
nsIInputStream getInputStream(in string zipEntry) |
nsIInputStream getInputStreamWithSpec(in AUTF8String aJarSpec, in string zipEntry) |
属性
属性 | 型 | 説明 |
file |
readonly attribute nsIFile |
この ZIP ファイルリーダーが初期化された ZIP を表すファイル。 |
メソッド
open()
ZIP ファイルを開いてい読み取れるようにします。他のファイルを開くこともできますが、まず close()
で閉じる必要があります。
void open(in nsIFile zipFile)
引数
-
zipFile
- 開く ZIP ファイル。
close()
ZIP ファイルを閉じます。以後、ファイルを展開しようとしたり、その入力ストリームから読み取りを行おうとするとエラーになります。
void close()
test()
各アイテムをメモリに展開する際に CRC チェックを実行して、アーカイブの完全性を検証します。エントリが指定された場合、そのアイテムの完全性のみが検証されます。NULL
が渡された場合、アーカイブ内のすべてのアイテムの完全性が検証されます。
void test(in string aEntryName)
引数
-
aEntryName
-
検証を行う単独のエントリ、あるいは、アーカイブ内のすべてのエントリを検証する場合は
NULL
。
extract()
ZIP エントリを、outFile
で指定されたローカルファイルに展開します。展開を正常に完了するには、このエントリは非圧縮あるいはでデフレート圧縮形式で ZIP 内に保存されていなければなりません。エントリがディレクトリの場合、そのディレクトリが非再帰的に展開されます。
void extract(in string zipEntry, in nsIFile outFile)
引数
-
zipEntry
- 展開する ZIP エントリ。
-
outFile
- ZIP ファイルの展開先に使用するローカルファイル
getEntry()
指定された ZIP エントリに相当する nsIZipEntry
を返します。
nsIZipEntry getEntry(in string zipEntry)
引数
-
zipEntry
- ZIP エントリ。
戻り値
指定された ZIP エントリに相当する nsIZipEntry
。
hasEntry()
ZIP ファイルに entryName で指定されたエントリが含まれているかどうかを確認します。
boolean hasEntry(in AUTF8String zipEntry)
引数
戻り値
真偽値。該当する ZIP エントリが存在する場合は true
、存在しない場合は false
。
findEntries()
一致するエントリ名を含む文字列の列挙 (enumerator) を返します。
nsIUTF8StringEnumerator findEntries(in string aPattern)
引数
-
aPattern
-
ZIP ファイル内でエントリを検索するために使用する正規表現。すべてのエントリを取得するには、この引数を
null
に設定します。そうでない場合、以下の構文を使ってください。
投げられる例外
-
NS_ERROR_ILLEGAL_VALUE
-
多くの、ただしすべてではない不正な
aPattern
の値が確認された場合。
戻り値
一致したエントリ名が含まれる nsIUTF8StringEnumerator
。
getInputStream()
指定された ZIP エントリの内容が含まれる入力ストリームを返します。
nsIInputStream getInputStream(in string zipEntry)
引数
-
zipEntry
- ストリームを開くエントリの名前。
戻り値
指定された ZIP エントリの内容が含まれる nsIInputStream
。
getInputStreamWithSpec()
指定された ZIP エントリの内容が含まれる入力ストリームを返します。エントリが (「/」で終わる) ディレクトリを参照している場合、ディレクトリストリームが開かれます。そうでない場合はファイルエントリの内容が返されます。
nsIInputStream getInputStreamWithSpec(in AUTF8String aJarSpec, in string zipEntry)
引数
-
aJarSpec
- JAR に使われている URI の Spec (利用されるのはディレクトリストリームの場合のみです)。
戻り値
指定された ZIP エントリの内容が含まれる nsIInputStream
。