LHA Library for Java
- Introduction
- This package is library that supports reading and writing an archive file that created by LHA.
- This package has interfaces like the java.util.zip Package. Many Java programmers can operate easily an archive file that created by LHA.
- Product requirements
- This package can be compiled by J2SE SDK 1.2 or later.
- This package can runs on JRE 1.1. However this package uses new functions added from J2SE 1.2. If you use this package with JRE1.1 then you should be cautious of the difference of behavior arising from no using the new functions added from J2SE1.2.
- Recommend strongly using with HotSpot performance engine or JIT compiler.
- License
Copyright (C) 2001-2002 Michel Ishizuka All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY MICHEL ISHIZUKA ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL MICHEL ISHIZUKA BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- Download
- LHA Library for Java 0.06-05 source files
download
(sorry commented by Japanese)
- LHA Library for Java 0.06-05 source files
download
- To do
- improve the compression algorithm.
(like the improved deflate algorithm in 7zip)
- improve the compression algorithm.
- Revision History
- version 0.06-05 -- May 05 2005
- [fix] mistake in LhaOutputStream. if you use -lhd- as compress method, LhaOutputStream changes it to -lh0-.
- [fix] mistake in LhaProperty. It had not lha.lhd.encoder and lha.lhd.decoder properties, so if you use this library without lha.properties file, you will get a NullPointerException. thanx > Yosinaga
- version 0.06-04 -- Feb 02 2005
- [fix] mistake in LhaHeader that the compressed size and original size are 32bits unsinged integral value, however in reading time, they had been handled with 32bits singed integral value. thanx > Kim Jinu
- version 0.06-03 -- Jun 28 2004
- [fix] decoder generator expression from lh4 to lh7 was wrong in LhaProperty thanx > Yamaura
- version 0.06-02 -- Jul 21 2003
- [fix] mistake this.limit for this.in in LhaInputStream.getNextEntry() thanx > Pierre
- [fix] overflow occurred in LimitedInputStream.skip() thanx > Pierre
- [fix] mistake the order of src and dest when calling System.arraycopy() in LhaHeader.exportDirNameExtHeader(). thanx > Mr. Koga
- version 0.06-01 -- Dec 13 2002
- [fix] mistake of distribution file. CompressMethod.java was not contained in distribution file. thanx > Thomas
- version 0.06 -- Dec 11 2002
- simplify the configuration file.
- [fix] PreLh5DecoderFast#ensureBlock() throws NagetiveArraySizeException when there is only one code in the offLen section. thanx > Mr. Baba
- [fix] mistake of distribution file. LimitedInputStream was not contained in distribution file. thanx > Mr. Katsumata
- [fix] mistake of distribution file. HashAndChainedListSearch implements ImprovedLzssSearchMethod, however, ImprovedLzssSearchMethod was not contained in distribution fie. thanx > Mr. Sasaki
- version 0.05 -- May 17 2002
- [fix] jp.gr.java_conf.dangan.util.lha.PreLh5DecoderFast has mistakes. That causes ArrayIndexOutOfBoundsException.
- [fix] jp.gr.java_conf.dangan.util.lha.PreLh3Decoder has mistakes. That causes ArrayIndexOutOfBoundsException.
- version 0.04 -- May 10 2002
- [add] jp.gr.java_conf.dangan.util.lha.PostLh5EncoderCombo
- [add] jp.gr.java_conf.dangan.util.lha.PreLh5DecoderFast
- [add] jp.gr.java_conf.dangan.io.CachedInputStream
- [add] jp.gr.java_conf.dangan.util.WindowsDate
- [fix] jp/gr/java_conf/dangan/util/lha/resources/lha.properties has mistakes. That causes NoClassDefFoundError on compresing/extracting -lh4- or -lh6- or -lh7-.
- [fix] jp.gr.java_conf.dangan.util.lha.LzssOutputStream.createSearchReturn has mistakes. That causes decrease the compress rate.
- [fix] jp.gr.java_conf.dangan.util.lha.ChainedHashSearch and jp.gr.java_conf.dangan.util.lha.ChainedHashSearchLimited has mistakes. That causes decrease the compress rate.
- version 0.03 -- April 15 2002
- [add] jp.gr.java_conf.dangan.util.lha.LhaRetainedOutputStream
- [fix] jp.gr.java_conf.dangan.util.lha.PreLh3Decoder and jp.gr.java_conf.dangan.util.lha.PostLh3Encoder has mistakes. That causes creating a archive file with wrong format.
- [chg] jp.gr.java_conf.dangan.util.lha.DynamicHuffman has mistakes. That causes creating a archive file with wrong format.
- [chg] Delete "public static" values. and add property file.(incomplete)
- [chg] some method in jp.gr.java_conf.dangan.io.BitInputStream chenges from protedted to public.
- [chg] some method in jp.gr.java_conf.dangan.io.BitOutputStream chenges from protedted to public.
- [chg] SearchMethod and HashMethod are separated from LzssOutputStream. and add new classes jp.gr.java_conf.dangan.util.lha.SearchMethod jp.gr.java_conf.dangan.util.lha.ChainedHashSearch jp.gr.java_conf.dangan.util.lha.ChainedHashSearchLimited jp.gr.java_conf.dangan.util.lha.SimpleSearch jp.gr.java_conf.dangan.util.lha.HashMethod jp.gr.java_conf.dangan.util.lha.HashDefault
- [chg] Delete PreLhaDecoder. and add new classes jp.gr.java_conf.dangan.util.lha.HuffmanDecoder jp.gr.java_conf.dangan.util.lha.StaticHuffmanDecoderTable jp.gr.java_conf.dangan.util.lha.StaticHuffmanDecoderTableAndTree jp.gr.java_conf.dangan.util.lha.StaticHuffmanDecoderTree jp.gr.java_conf.dangan.util.lha.DynamicHuffmanDecoder
- version 0.02 -- March 12 2002
- first edition.
- version 0.06-05 -- May 05 2005
- Author does not certify about accuracy of this document.
- When you have requests for enhancement or reports a mistake, Please mail to cqw10305@nifty.com.
- Original LHA is created by Haruyasu Yoshizaki.
- The company name and product name which are used in this document, it is the trademark or registered trademark of each company generally.