com.nttdocomo.util
クラス JarInflater

Object
  |
  +--com.nttdocomo.util.JarInflater

public class JarInflater
extends Object

Jar形式のファイルイメージからそのエントリを伸長して取り出すためのクラスです。

JarInflaterオブジェクトを得るためには、 Jar形式のファイルイメージを保持するInputStreamまたはバイト配列を指定して、 コンストラクタを呼び出します。 エントリ(圧縮または無圧縮で格納されたされたファイル) の内容を伸長して取得するためには、 そのエントリ名を指定してgetInputStreamメソッドを呼び出します。

Jarファイルが署名されていても、署名は確認されません。

ミニマムスペック:

導入されたバージョン:
DoJa-3.0

コンストラクタの概要
JarInflater(byte[] data)
          バイト配列から新しいJarInflaterを生成します。
JarInflater(java.io.InputStream in)
          入力ストリームから新しいJarInflaterを生成します。
 
メソッドの概要
 void close()
          このJarInflaterをクローズします。
 java.io.InputStream getInputStream(String name)
          エントリ名を指定して、エントリを読むための入力ストリームを返します。
 long getSize(String name)
          エントリ名を指定して、エントリ伸長時のサイズを返します。
 
クラス Object から継承したメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

JarInflater

public JarInflater(java.io.InputStream in)
            throws JarFormatException,
                   java.io.IOException
入力ストリームから新しいJarInflaterを生成します。 指定された入力ストリームからは、 有効なJar形式のファイルイメージが取得できなければなりません。

入力ストリームからは、 有効なJar形式のファイルイメージが1つ分読み込まれます。 すなわち、 有効なJar形式のファイルイメージが取得できる入力ストリームを指定した場合、 このコンストラクタの終了後、 その入力ストリームの読み込み位置は、 Jar形式のファイルイメージの直後になります。 したがって、Jar形式のファイルイメージのみを持つ入力ストリームの場合、 ストリームの終端に達しており、 その次のreadメソッド呼び出しは -1 を返します。 有効なJar形式のファイルイメージが取得できなかった場合、 このコンストラクタの終了後の入力ストリームの読み込み位置は機種依存です。

コンストラクタの終了後、入力ストリームへの参照を保持しません。 また、このコンストラクタは、入力ストリームをクローズしません。 入力ストリームのクローズはコンストラクタの呼び出し側で行ってください。

パラメータ:
in - Jar形式のファイルイメージを保持する入力ストリームを指定します。
例外:
NullPointerException - 引数 in が null の場合に発生します。
JarFormatException - Jar形式エラーが発生した場合にスローされます。
java.io.IOException - I/O エラーが発生した場合に発生します。

JarInflater

public JarInflater(byte[] data)
            throws JarFormatException
バイト配列から新しいJarInflaterを生成します。 指定されたバイト配列からは、 有効なJar形式のファイルイメージが取得できなければなりません。

バイト配列の先頭から、 有効なJar形式のファイルイメージ1つ分のデータが読み込まれます。

コンストラクタの終了後、バイト配列への参照を保持しません。

パラメータ:
data - Jar形式のファイルイメージを保持するバイト配列を指定します。
例外:
NullPointerException - 引数 data が null の場合に発生します。
JarFormatException - Jar形式エラーが発生した場合にスローされます。
メソッドの詳細

close

public void close()
このJarInflaterをクローズします。

すでにこのJarInflaterから取得された入力ストリームからの読み込みは 保証されません。


getSize

public long getSize(String name)
             throws JarFormatException
エントリ名を指定して、エントリ伸長時のサイズを返します。

パラメータ:
name - エントリ名を指定します。
戻り値:
エントリ伸長時のサイズを返します。 指定されたエントリがディレクトリである場合には( エントリ名の最後が'/'であるエントリ)、0を返します。 エントリが見つからない場合には、-1 を返します。 指定された名前のエントリが見つからず、 名前が name+"/" のディレクトリが見つかった場合、 name+"/" が引数に指定されたときと同様に動作し、 0を返します。
例外:
IllegalStateException - JarInflaterがクローズされている場合に発生します。
NullPointerException - 引数 name が null の場合に発生します。
JarFormatException - Jar形式エラーが発生した場合にスローされます。

getInputStream

public java.io.InputStream getInputStream(String name)
                                   throws JarFormatException
エントリ名を指定して、エントリを読むための入力ストリームを返します。 入力ストリームから得られるデータは伸長時のデータです。

このメソッドの呼び出し毎に、異なるInputStreamオブジェクトを返します。

パラメータ:
name - エントリ名を指定します。
戻り値:
エントリ伸長時のデータを読むための入力ストリームを返します。 指定されたエントリがディレクトリである場合 (エントリ名の最後が'/'であるエントリ)、 およびエントリが見つからない場合には、null を返します。 ディレクトリでない、サイズが0であるエントリに対しては 有効なInputStreamを返しますが、そのreadメソッドは -1 を返します。 指定された名前のエントリが見つからず、 名前が name+"/" のディレクトリが見つかった場合、 name+"/" が引数に指定されたときと同様に動作し、 nullを返します。
例外:
IllegalStateException - JarInflaterがクローズされている場合に発生します。
NullPointerException - 引数 name が null の場合に発生します。
JarFormatException - Jar形式エラーが発生した場合にスローされます。


NTT DoCoMo,Inc.

本製品または文書は著作権法により保護されており、その使用、複製、再頒布および逆コンパイルを制限するライセンスのもとにおいて頒布されます。NTTドコモ(その他に許諾者がある場合は当該許諾者も含めて)の書面による事前の許可なく、本製品および関連する文書のいかなる部分も、いかなる方法によっても複製することが禁じられます。フォントを含む第三者のソフトウェアは、著作権法により保護されており、その提供者からライセンスを受けているものです。

Sun、Sun Microsystems、Java、J2MEおよびJ2SEは、米国およびその他の国における米国 Sun Microsystems,Inc.の商標または登録商標です。サンのロゴマークは、米国 Sun Microsystems, Inc.の登録商標です。

「iモード」、「iアプリ/アイアプリ」、「i-αppli」ロゴ、「DoJa」はNTTドコモの商標または登録商標です。