A LZ78 compression algorithm implementation using java. It was an assignment for the Compression and Information theory course in Cairo University Faculty of Computers and Artificial Intelligence.
This implementation theoretically can compress text and binary files, although it is not designed to.
To compress a file run the program with the following arguments:
java -jar lz78.jar -c <filename>
For decompression:
java -jar lz78.jar -d <filename>
Using 5 paragraphs of Lorem ipsum:
Input file is 2,588 bytes
Compressed file is 2,212 bytes