4

I'd like to use the ZipFile class to unzip a file using its name from an archive of multiple files. How can I get the string of the zip file name and directory to pass to the ZipFile constructor?

CalvinS
  • 615
  • 1
  • 7
  • 14
  • What is the path name if the zip file is in the assets directory? Is my best choice to copy it to the application files directory? – CalvinS Jun 04 '10 at 14:33
  • An APK is already a compressed ZIP archive. Putting a ZIP inside of an APK is a waste of time -- just put the APK's contents in there. – CommonsWare Jun 04 '10 at 16:04

1 Answers1

4

You can use the AssetManager and 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;
}
qrtt1
  • 7,746
  • 8
  • 42
  • 62