Compilation: javac LZW.java
Execution: java LZW - < input.txt (compress)
Execution: java LZW + < input.txt (expand)
Dependencies: BinaryIn.java BinaryOut.java
Compress or expand binary input from standard input using LZW.
WARNING: STARTING WITH ORACLE JAVA 6, UPDATE 7 the SUBSTRING
METHOD TAKES TIME AND SPACE LINEAR IN THE SIZE OF THE EXTRACTED
SUBSTRING (INSTEAD OF CONSTANT SPACE AND TIME AS IN EARLIER
IMPLEMENTATIONS).
See
this article
for more details.