LHA Library for Java

jp.gr.java_conf.dangan.util.lha
クラス LhaFile

java.lang.Object
  拡張jp.gr.java_conf.dangan.util.lha.LhaFile

public class LhaFile
extends Object

LHA書庫ファイルからエントリデータを読み出す InputStreamを得るためのユーティリティクラス。
java.util.zip.ZipFile と似た インターフェイスを持つように作った。 CRC16等によるチェックは行わない。

 -- revision history --
 $Log: LhaFile.java,v $
 Revision 1.1  2002/12/08 00:00:00  dangan
 [maintenance]
     LhaConstants から CompressMethod へのクラス名の変更に合わせて修正。

 Revision 1.0  2002/08/05 00:00:00  dangan
 add to version control
 [improvement]
     エントリの管理に Hashtable を使用する事によって
     大量のエントリを持つ書庫でエントリ開始位置を
     より速く見つけられるように改良。
 [change]
     コンストラクタから 引数に String encode を取るものを廃止、
     Properties を引数に取るものを追加。
 [maintanance]
     ソース整備
     タブ廃止
     ライセンス文の修正

 

バージョン:
$Revision: 1.1 $
作成者:
$Author: dangan $

コンストラクタの概要
LhaFile(File filename)
          filename で指定されたファイルから書庫データを読みこむLhaFileを構築する。
LhaFile(File filename, Properties property)
          filename で指定されたファイルから書庫データを読みこむ LhaFile を構築する。
LhaFile(RandomAccessFile file)
          file で指定されたファイルから書庫データを読みこむ LhaFile を構築する。
LhaFile(RandomAccessFile file, boolean rescueMode)
          file で指定されたファイルから書庫データを読みこむ LhaFile を構築する。
LhaFile(RandomAccessFile file, Properties property)
          file で指定されたファイルから書庫データを読みこむ LhaFile を構築する。
LhaFile(RandomAccessFile file, Properties property, boolean rescueMode)
          file で指定されたファイルから書庫データを読みこむ LhaFile を構築する。
LhaFile(String filename)
          filename で指定されたファイルから書庫データを読みこむLhaFileを構築する。
LhaFile(String filename, Properties property)
          filename で指定されたファイルから書庫データを読みこむLhaFileを構築する。
 
メソッドの概要
 void close()
          この LHA書庫ファイルを閉じる。
 Enumeration entries()
          この LhaFile 内のエントリの LhaHeader の列挙子を得る。
 LhaHeader[] getEntries()
          ファイル内のエントリを列挙した配列を得る。
 InputStream getInputStream(LhaHeader header)
          header で指定されたエントリの 内容を解凍しながら読みこむ入力ストリームを得る。
 InputStream getInputStream(String name)
          nameで指定された名前を持つエントリの 内容を解凍しながら読みこむ入力ストリームを得る。
 InputStream getInputStreamWithoutExtract(LhaHeader header)
          headerで指定されたエントリの内容を 解凍せずに読みこむ入力ストリームを返す。
 InputStream getInputStreamWithoutExtract(String name)
          nameで指定された名前を持つエントリの 内容を解凍せずに読みこむ入力ストリームを返す。
 int size()
          この LhaFile 内のエントリの数を得る。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

LhaFile

public LhaFile(String filename)
        throws IOException
filename で指定されたファイルから書庫データを読みこむLhaFileを構築する。
各圧縮形式に対応した復号器の生成式等を持つプロパティには LhaProperty.getProperties() で得られたプロパティが使用される。

パラメータ:
filename - LHA書庫ファイルの名前
例外:
IOException - 入出力エラーが発生した場合
FileNotFoundException - ファイルが見つからない場合
SecurityException - セキュリティマネージャがファイルの読み込みを許さない場合
関連項目:
LhaProperty.getProperties()

LhaFile

public LhaFile(String filename,
               Properties property)
        throws IOException
filename で指定されたファイルから書庫データを読みこむLhaFileを構築する。

パラメータ:
filename - LHA書庫ファイルの名前
property - 各圧縮形式に対応した復号器の生成式等が含まれるプロパティ
例外:
IOException - 入出力エラーが発生した場合
FileNotFoundException - ファイルが見つからない場合
UnsupportedEncodingException - property.getProperty( "lha.encoding" ) で得られた エンコーディング名がサポートされない場合
SecurityException - セキュリティマネージャがファイルの読み込みを許さない場合
関連項目:
LhaProperty

LhaFile

public LhaFile(File filename)
        throws IOException
filename で指定されたファイルから書庫データを読みこむLhaFileを構築する。
各圧縮形式に対応した復号器の生成式等を持つプロパティには LhaProperty.getProperties() で得られたプロパティが使用される。

パラメータ:
filename - LHA書庫ファイル
例外:
IOException - 入出力エラーが発生した場合
FileNotFoundException - ファイルが見つからない場合
SecurityException - セキュリティマネージャがファイルの読み込みを許さない場合
関連項目:
LhaProperty.getProperties()

LhaFile

public LhaFile(File filename,
               Properties property)
        throws IOException
filename で指定されたファイルから書庫データを読みこむ LhaFile を構築する。

パラメータ:
filename - LHA書庫ファイル
property - 各圧縮形式に対応した復号器の生成式等が含まれるプロパティ
例外:
IOException - 入出力エラーが発生した場合
FileNotFoundException - ファイルが見つからない場合
UnsupportedEncodingException - property.getProperty( "lha.encoding" ) で得られた エンコーディング名がサポートされない場合
SecurityException - セキュリティマネージャがファイルの読み込みを許さない場合
関連項目:
LhaProperty

LhaFile

public LhaFile(RandomAccessFile file)
        throws IOException
file で指定されたファイルから書庫データを読みこむ LhaFile を構築する。
各圧縮形式に対応した復号器の生成式等を持つプロパティには LhaProperty.getProperties() で得られたプロパティが使用される。

パラメータ:
file - LHA書庫ファイル
例外:
IOException - 入出力エラーが発生した場合
FileNotFoundException - ファイルが見つからない場合
SecurityException - セキュリティマネージャがファイルの読み込みを許さない場合
関連項目:
LhaProperty.getProperties()

LhaFile

public LhaFile(RandomAccessFile file,
               boolean rescueMode)
        throws IOException
file で指定されたファイルから書庫データを読みこむ LhaFile を構築する。
各圧縮形式に対応した復号器の生成式等を持つプロパティには LhaProperty.getProperties() で得られたプロパティが使用される。

パラメータ:
file - LHA書庫ファイル
rescueMode - true にすると壊れた書庫のデータを 復旧するための復旧モードでエントリを検索する。
例外:
IOException - 入出力エラーが発生した場合
FileNotFoundException - ファイルが見つからない場合
SecurityException - セキュリティマネージャがファイルの読み込みを許さない場合
関連項目:
LhaProperty.getProperties()

LhaFile

public LhaFile(RandomAccessFile file,
               Properties property)
        throws IOException
file で指定されたファイルから書庫データを読みこむ LhaFile を構築する。

パラメータ:
file - LHA書庫ファイル
property - 各圧縮形式に対応した復号器の生成式等が含まれるプロパティ
例外:
IOException - 入出力エラーが発生した場合
FileNotFoundException - ファイルが見つからない場合
SecurityException - セキュリティマネージャがファイルの読み込みを許さない場合
関連項目:
LhaProperty

LhaFile

public LhaFile(RandomAccessFile file,
               Properties property,
               boolean rescueMode)
        throws IOException
file で指定されたファイルから書庫データを読みこむ LhaFile を構築する。

パラメータ:
file - LHA書庫ファイル
property - 各圧縮形式に対応した復号器の生成式等が含まれるプロパティ
rescueMode - true にすると壊れた書庫のデータを 復旧するための復旧モードでエントリを検索する。
例外:
IOException - 入出力エラーが発生した場合
FileNotFoundException - ファイルが見つからない場合
SecurityException - セキュリティマネージャがファイルの読み込みを許さない場合
関連項目:
LhaProperty
メソッドの詳細

getInputStream

public InputStream getInputStream(LhaHeader header)
header で指定されたエントリの 内容を解凍しながら読みこむ入力ストリームを得る。

パラメータ:
header - ヘッダ
戻り値:
headerで指定されたヘッダを持つエントリの 内容を読みこむ入力ストリーム。
エントリが見つからない場合は null。

getInputStream

public InputStream getInputStream(String name)
nameで指定された名前を持つエントリの 内容を解凍しながら読みこむ入力ストリームを得る。

パラメータ:
name - エントリの名前
戻り値:
nameで指定された名前を持つエントリの 内容を解凍しながら読みこむ入力ストリーム。
エントリが見つからない場合は null。

getInputStreamWithoutExtract

public InputStream getInputStreamWithoutExtract(LhaHeader header)
headerで指定されたエントリの内容を 解凍せずに読みこむ入力ストリームを返す。

パラメータ:
header - ヘッダ
戻り値:
headerで指定されたエントリの内容を 解凍せずに読みこむ入力ストリーム。
エントリが見つからない場合は null。

getInputStreamWithoutExtract

public InputStream getInputStreamWithoutExtract(String name)
nameで指定された名前を持つエントリの 内容を解凍せずに読みこむ入力ストリームを返す。

パラメータ:
name - エントリの名前
戻り値:
nameで指定された名前を持つエントリの 内容を解凍せずに読みこむ入力ストリーム。
エントリが見つからない場合は null。

size

public int size()
この LhaFile 内のエントリの数を得る。

戻り値:
ファイル内のエントリの数

entries

public Enumeration entries()
この LhaFile 内のエントリの LhaHeader の列挙子を得る。

戻り値:
LhaHeader の列挙子
例外:
IllegalStateException - LhaFile が close() で閉じられている場合。

getEntries

public LhaHeader[] getEntries()
ファイル内のエントリを列挙した配列を得る。

戻り値:
ファイル内のエントリを列挙した配列

close

public void close()
           throws IOException
この LHA書庫ファイルを閉じる。 その際、このLhaFileが発行した全ての InputStreamは強制的に閉じられる。

例外:
IOException - 入出力エラーが発生した場合

LHA Library for Java

バグやドキュメントの誤りの報告は作者宛てにお願いします。
ドキュメント内に含まれる社名、製品名については一般に各社の商標または登録商標です。
Copyright © 2001-2002 Michel Ishizuka. All Rights Reserved.