Forked from shengoo/Android unzip file using ZipInputStream
Created
January 30, 2016 04:47
-
-
Save mnafian/aa2356becd5012337389 to your computer and use it in GitHub Desktop.
Android unzip file using ZipInputStream
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class unzip extends Activity { | |
/** Called when the activity is first created. */ | |
static final int BUFFER = 2048; | |
TextView textView; | |
@Override | |
public void onCreate(Bundle savedInstanceState) { | |
textView = new TextView(this); | |
super.onCreate(savedInstanceState); | |
textView.setText(“Main Activity”); | |
extractZipfile(); | |
setContentView(textView); | |
} | |
private void extractZipfile() { | |
String extractDir = getApplicationContext().getFilesDir() | |
.getAbsolutePath() | |
+ “/unzip/”; | |
try { | |
BufferedOutputStream dest = null; | |
ZipInputStream zis = new ZipInputStream(getResources() | |
.openRawResource(R.raw.book)); | |
ZipEntry entry; | |
while ((entry = zis.getNextEntry()) != null) { | |
File file = new File(extractDir + entry.getName()); | |
if (file.exists()) { | |
textView.append(“\n” + file.getAbsolutePath() + “\texists”); | |
continue; | |
} | |
if (entry.isDirectory()) { | |
if (!file.exists()) | |
file.mkdirs(); | |
textView.append(“\nCreate directory: “ | |
+ file.getAbsolutePath()); | |
continue; | |
} | |
textView.append(“\nExtracting:” + entry); | |
int count; | |
byte data[] = new byte[BUFFER]; | |
textView.append(” to ” + file.getAbsolutePath()); | |
FileOutputStream fos = new FileOutputStream(file); | |
dest = new BufferedOutputStream(fos, BUFFER); | |
while ((count = zis.read(data, 0, BUFFER)) != -1) { | |
dest.write(data, 0, count); | |
} | |
dest.flush(); | |
dest.close(); | |
} | |
zis.close(); | |
} catch (Exception e) { | |
// TODO: handle exception | |
e.printStackTrace(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment