2015-12-07 5 views
0

Я хочу сделать приложение для Android для zip-файлов. Вот мой код блока:Android Zipping для нескольких файлов

String input=Environment.getExternalStorageDirectory() +File.separator + "merhaba"; 
String output = Environment.getExternalStorageDirectory() + File.separator +"TollCulator"; 
zipFolder(input,output); 

Вот это моя функция:

private static void zipFolder(String inputFolderPath, String outZipPath) { 
    try { 
     FileOutputStream fos = new FileOutputStream(outZipPath); 
     ZipOutputStream zos = new ZipOutputStream(fos); 
     File srcFile = new File(inputFolderPath); 
     File[] files = srcFile.listFiles(); 
     Log.d("", "Zip directory: " + srcFile.getName()); 
     for (int i = 0; i < files.length; i++) { 
      Log.d("", "Adding file: " + files[i].getName()); 
      byte[] buffer = new byte[1024]; 
      FileInputStream fis = new FileInputStream(files[i]); 
      zos.putNextEntry(new ZipEntry(files[i].getName())); 
      int length; 
      while ((length = fis.read(buffer)) > 0) { 
       zos.write(buffer, 0, length); 
      } 
      zos.closeEntry(); 
      fis.close(); 
     } 
     zos.close(); 
    } catch (IOException ioe) { 
     Log.e("", ioe.getMessage()); 
    } 
} 

Также я использую, что в моем файле XML:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 

Это не работает для меня , У меня нет ошибок в моем приложении. Нет никаких действий, и в моем внутреннем хранилище нет zip-файла.

+0

http://stackoverflow.com/questions/7485114/how-to-zip-and-unzip-the-files – Actiwitty

+0

Спасибо за помощь но мне просто интересно, почему мой блок кода не работает? –

+0

Я думаю, что моя функция права, потому что я взял ее из stackoverflow. Но мой блок кода с путём может быть неправильным. Не могли бы вы помочь с этим? –

ответ

0

Пожалуйста, добавьте:

<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" /> 

к вашему AndroidManifest