package com.clearlyspam23.GLE.basic.compression;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
import java.util.zip.ZipOutputStream;
import com.clearlyspam23.GLE.template.CompressionFormat;
public class ZipCompression extends CompressionFormat {
@Override
public String getName() {
return "Zip";
}
@Override
public void compress(String input, File file) throws IOException {
ZipOutputStream zstream = new ZipOutputStream(new FileOutputStream(file));
ZipEntry e = new ZipEntry(file.getName());
zstream.putNextEntry(e);
zstream.write(input.getBytes());
zstream.closeEntry();
zstream.close();
}
@Override
public String decompress(File file) throws IOException {
ZipFile f = new ZipFile(file);
ZipEntry e = f.getEntry(file.getName());
InputStream is = f.getInputStream(e);
java.util.Scanner s = new java.util.Scanner(is);
s.useDelimiter("\\A");
String ans = s.hasNext() ? s.next() : "";
s.close();
f.close();
return ans;
}
}