بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

استفاده از زیپ در برنامه

مدیریت گفتگو
SaM MP 12 سال پیش
آخرین تغییر: 12 سال پیش

دوستان یه سوال داشتم  میشه میشه عمل unZip رو داخل برنامه انجام داد و کلا برخی اطلاعاتش رو از داخل فایل زیپ بدست آورد؟

نظرات

پاسخ‌ها 1

محمد حسین زاده 12 سال پیش

بله میشه. با تابع زیر میتونی فایل زیپ رو رو کارت حافظه باز کنی

public static void unzip(final File file, final File destination) throws ZipException, IOException {
new Thread() {
public void run() {
try {
ZipInputStream zin = new ZipInputStream(new FileInputStream(file));
String workingDir = destination.getAbsolutePath()+"/";

byte buffer[] = new byte[4096];
int bytesRead;
ZipEntry entry = null;
while ((entry = zin.getNextEntry()) != null) {
if (entry.isDirectory()) {
File dir = new File(workingDir, entry.getName());
if (!dir.exists()) {
dir.mkdir();
}
Log.i("ZipTag", "[DIR] "+entry.getName());
} else {
FileOutputStream fos = new FileOutputStream(workingDir + entry.getName());
while ((bytesRead = zin.read(buffer)) != -1) {
fos.write(buffer, 0, bytesRead);
}
fos.close();
Log.i("ZipTag", "[FILE] "+entry.getName());
}
}
zin.close();
} catch (Exception e) {
Log.e("ZipTag", "FAILED");
}
};
}.start();
}

نظرات

SaM MP 12 سال پیش
یه سوال اگه تو این متد آخرین کش یعنی FAILED رو بده احتمال داره مشکل از کجاها باشه؟
خود exception رو با e.printStackTrace(); فراخونی کن که بدونی چی شده

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .