2010-06-04 5 views
4

Je voudrais utiliser la classe ZipFile pour décompresser un fichier en utilisant son nom à partir d'une archive de plusieurs fichiers. Comment puis-je obtenir la chaîne du nom et du répertoire du fichier zip à transmettre au constructeur ZipFile?Décompressez le fichier de l'archive zip de plusieurs fichiers en utilisant la classe ZipFile

+0

Quel est le nom de chemin si le fichier zip dans le répertoire actif? Est-ce que mon meilleur choix pour le copier dans le répertoire des fichiers de l'application? – CalvinS

+0

Un fichier APK est déjà une archive ZIP compressée. Mettre un ZIP à l'intérieur d'un fichier APK est une perte de temps - il suffit de mettre le contenu de l'APK là-dedans. – CommonsWare

Répondre

4

Vous pouvez utiliser le AssetManager et ZipInputStream http://developer.android.com/reference/android/content/res/AssetManager.html

ZipInputStream in = null; 
try { 
    final String zipPath = "data/sample.zip"; 
    // Context.getAssets() 
    in = new ZipInputStream(getAssets().open(zipPath)); 
    for (ZipEntry entry = in.getNextEntry(); entry != null; entry = in.getNextEntry()) { 
     // handle the zip entry 
    } 
} catch (IOException e) { 
    Log.e(TAG, e.getMessage()); 
} finally { 
    try { 
     if (in != null) { 
      in.close(); 
     } 
    } catch (IOException ignored) { 
    } 
    in = null; 
} 
Questions connexes