您的位置:首页 > 其它

解压文件到指定目录

2013-09-04 09:44 453 查看
private static void unzip(InputStream fis, String outputDirectory)  throws Exception {
ZipInputStream in = new ZipInputStream(fis);
ZipEntry z;
String name = "";
String extractedFile = "";
int counter = 0;

while ((z = in.getNextEntry()) != null) {
name = z.getName();
Log.d("Test", "unzipping file: " + name);
if (z.isDirectory()) {
Log.d("Test", name + "is a folder");
// get the folder name of the widget
name = name.substring(0, name.length() - 1);
File folder = new File(outputDirectory + File.separator + name);
folder.mkdirs();
if (counter == 0) {
extractedFile = folder.toString();
}
counter++;
Log.d("Test", "mkdir " + outputDirectory + File.separator + name);
} else {
Log.d("Test", name + "is a normal file");
File file = new File(outputDirectory + File.separator + name);
file.createNewFile();
// get the output stream of the file
FileOutputStream out = new FileOutputStream(file);
int ch;
byte[] buffer = new byte[1024];
// read (ch) bytes into buffer
while ((ch = in.read(buffer)) != -1) {
// write (ch) byte from buffer at the position 0
out.write(buffer, 0, ch);
out.flush();
}
out.close();
}
}

in.close();

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: