package uni.projecte.dataLayer.utils;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
import android.util.Log;
public class IoUtils {
private static final int BUFFER_SIZE = 1024 * 2;
public static boolean unpackZip(String fileZip,String destPath)
{
InputStream is;
ZipInputStream zis;
try
{
is = new FileInputStream(fileZip);
zis = new ZipInputStream(new BufferedInputStream(is));
ZipEntry ze;
java.io.ByteArrayOutputStream baos = new java.io.ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int count;
while ((ze = zis.getNextEntry()) != null)
{
// zapis do souboru
String filename = ze.getName();
Log.v("Backup", "(B1) Unzipping " + filename);
FileOutputStream fout = new FileOutputStream(destPath + filename);
// cteni zipu a zapis
while ((count = zis.read(buffer)) != -1)
{
baos.write(buffer, 0, count);
fout.write(baos.toByteArray());
baos.reset();
}
fout.close();
zis.closeEntry();
}
zis.close();
baos.close();
}
catch(IOException e)
{
e.printStackTrace();
return false;
}
return true;
}
}