|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Objectcom.nttdocomo.util.JarInflater
Jar 形式のファイルイメージからそのエントリを伸長して取り出すためのクラスです。
JarInflater オブジェクトを得るためには、
Jar 形式のファイルイメージを保持する InputStream
またはバイト配列を指定して、コンストラクタを呼び出します。
エントリ(圧縮または無圧縮で格納されたされたファイル)
の内容を伸長して取得するためには、そのエントリ名を指定して
getInputStream(String)
メソッドを呼び出します。
なお、
コンストラクタの引数に指定するストリームやバイト配列からは 1 つの JAR
ファイルが過不足なく読み出せる必要があります。
一部が欠落していたり、
また末尾などに余分なデータが付加されて読み出されるような場合は、
フォーマット違反とみなされ例外が発生することがあります。
特に、
スクラッチパッドに結び付けられたストリームをコンストラクタに指定する場合、
そのスクラッチパッドをオープンする際には URL に pos オプションと length
オプションを付加し、適切なデータが読み出せるようにしなければなりません。
Jarファイルが署名されていても、署名は確認されません。
コンストラクタの概要 | |
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 |
コンストラクタの詳細 |
public JarInflater(java.io.InputStream in) throws JarFormatException, java.io.IOException
入力ストリームから新しいJarInflaterを生成します。 指定された入力ストリームからは、 有効なJar形式のファイルイメージが取得できなければなりません。
入力ストリームからは、 有効なJar形式のファイルイメージが1つ分読み込まれます。 すなわち、 有効なJar形式のファイルイメージが取得できる入力ストリームを指定した場合、 このコンストラクタの終了後、 その入力ストリームの読み込み位置は、 Jar形式のファイルイメージの直後になります。 したがって、Jar形式のファイルイメージのみを持つ入力ストリームの場合、 ストリームの終端に達しており、 その次のreadメソッド呼び出しは -1 を返します。 有効なJar形式のファイルイメージが取得できなかった場合、 このコンストラクタの終了後の入力ストリームの読み込み位置は機種依存です。
コンストラクタの終了後、入力ストリームへの参照を保持しません。 また、このコンストラクタは、入力ストリームをクローズしません。 入力ストリームのクローズはコンストラクタの呼び出し側で行ってください。
Jar の形式に違反しているようなデータを与えた場合には、
コンストラクタ呼び出し時、
そのオブジェクトに対する getSize(String)
や
getInputStream(String)
呼び出し時のいずれかで
JarFormatException が発生します。
in
- Jar形式のファイルイメージを保持する入力ストリームを指定します。
NullPointerException
- 引数 in が null の場合に発生します。
JarFormatException
- Jar形式エラーが発生した場合にスローされます。
java.io.IOException
- I/O エラーが発生した場合に発生します。
public JarInflater(byte[] data) throws JarFormatException
バイト配列から新しいJarInflaterを生成します。 指定されたバイト配列からは、 有効なJar形式のファイルイメージが取得できなければなりません。
バイト配列の先頭から、 有効なJar形式のファイルイメージ1つ分のデータが読み込まれます。
コンストラクタの終了後、バイト配列への参照を保持しません。
Jar の形式に違反しているようなデータを与えた場合には、
コンストラクタ呼び出し時、
そのオブジェクトに対する getSize(String)
や
getInputStream(String)
呼び出し時のいずれかで
JarFormatException が発生します。
data
- Jar形式のファイルイメージを保持するバイト配列を指定します。
NullPointerException
- 引数 data が null の場合に発生します。
JarFormatException
- Jar形式エラーが発生した場合にスローされます。
メソッドの詳細 |
public void close()
すでにこのJarInflaterから取得された入力ストリームからの読み込みは 保証されません。
public long getSize(String name) throws JarFormatException
name
- エントリ名を指定します。
IllegalStateException
- JarInflaterがクローズされている場合に発生します。
NullPointerException
- 引数 name が null の場合に発生します。
JarFormatException
- Jar形式エラーが発生した場合にスローされます。
public java.io.InputStream getInputStream(String name) throws JarFormatException
このメソッドの呼び出し毎に、異なるInputStreamオブジェクトを返します。
name
- エントリ名を指定します。
IllegalStateException
- JarInflaterがクローズされている場合に発生します。
NullPointerException
- 引数 name が null の場合に発生します。
IllegalArgumentException
- [DoJa-4.1 (902i) 以降]
引数 name に "/./", "/../"
が含まれる場合に発生します。
JarFormatException
- Jar形式エラーが発生した場合にスローされます。
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
NTT DOCOMO,INC.
本製品または文書は著作権法により保護されており、その使用、複製、再頒布および逆コンパイルを制限するライセンスのもとにおいて頒布されます。NTTドコモ(その他に許諾者がある場合は当該許諾者も含めて)の書面による事前の許可なく、本製品および関連する文書のいかなる部分も、いかなる方法によっても複製することが禁じられます。フォントを含む第三者のソフトウェアは、著作権法により保護されており、その提供者からライセンスを受けているものです。
Sun、Sun Microsystems、Java、J2MEおよびJ2SEは、米国およびその他の国における米国 Sun Microsystems,Inc.の商標または登録商標です。サンのロゴマークは、米国 Sun Microsystems, Inc.の登録商標です。
FeliCaは、ソニー株式会社が開発した非接触ICカードの技術方式です。FeliCaは、ソニー株式会社の登録商標です。
「iモード」、「iアプリ/アイアプリ」、「i-αppli」ロゴ、「DoJa」はNTTドコモの商標または登録商標です。
その他記載された会社名、製品名などは該当する各社の商標または登録商標です。