android使用ZipInputStream解压缩zip压缩文件

public class unzip extends Activity {
  /** Called when the activity is first created. */
  static final int BUFFER = 2048;
  TextView textView;
  @Override
  public void onCreate(Bundle savedInstanceState) {
    textView = new TextView(this);
    super.onCreate(savedInstanceState);
    textView.setText(“Main Activity”);
    extractZipfile();
    setContentView(textView);
  }
  private void extractZipfile() {
    String extractDir = getApplicationContext().getFilesDir()
            .getAbsolutePath()
            + “/unzip/”;
    try {
      BufferedOutputStream dest = null;
      ZipInputStream zis = new ZipInputStream(getResources()
              .openRawResource(R.raw.book));
      ZipEntry entry;
      while ((entry = zis.getNextEntry()) != null) {
        File file = new File(extractDir + entry.getName());
        if (file.exists()) {
          textView.append(“n” + file.getAbsolutePath() + “texists”);
          continue;
        }
        if (entry.isDirectory()) {
          if (!file.exists())
            file.mkdirs();
          textView.append(“nCreate directory: “
                  + file.getAbsolutePath());
          continue;
        }
        textView.append(“nExtracting:” + entry);
        int count;
        byte data[] = new byte[BUFFER];
        textView.append(” to ” + file.getAbsolutePath());
        FileOutputStream fos = new FileOutputStream(file);
        dest = new BufferedOutputStream(fos, BUFFER);
        while ((count = zis.read(data, 0, BUFFER)) != -1) {
          dest.write(data, 0, count);
        }
        dest.flush();
        dest.close();
      }
      zis.close();
    } catch (Exception e) {
        // TODO: handle exception
      e.printStackTrace();
    }
  }
}

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注