java-class-compression-rese.../src/main/java/eu/mikroskeem/uurimustoo/algoritmidetest/algoritmid/LZO.java

34 lines
1.1 KiB
Java

package eu.mikroskeem.uurimustoo.algoritmidetest.algoritmid;
import org.anarres.lzo.LzoAlgorithm;
import org.anarres.lzo.LzoCompressor;
import org.anarres.lzo.LzoDecompressor;
import org.anarres.lzo.LzoInputStream;
import org.anarres.lzo.LzoLibrary;
import org.anarres.lzo.LzoOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
/**
* @author Mark Vainomaa
*/
public class LZO extends AbstractAlgorithm {
@Override public String getName() { return "LZO"; }
@Override
public OutputStream createCompressor(OutputStream outputStream) throws IOException {
LzoAlgorithm algorithm = LzoAlgorithm.LZO1X;
LzoCompressor compressor = LzoLibrary.getInstance().newCompressor(algorithm, null);
return new LzoOutputStream(outputStream, compressor, 256);
}
@Override
public InputStream createDecompressor(InputStream inputStream) throws IOException {
LzoAlgorithm algorithm = LzoAlgorithm.LZO1X;
LzoDecompressor decompressor = LzoLibrary.getInstance().newDecompressor(algorithm, null);
return new LzoInputStream(inputStream, decompressor);
}
}