Android程序解压缩zip文件并加载显示解压后的文件

刚做了个demo用于解压缩本地zip文件,并用webview显示其中的一个html文件,直接上代码,需要的朋友可以看看

public class ZipActivity extends Activity {       private static final String TAG = "HelloXmlActivity";       private WebView mWebView;            private static LinkedHashMap<String, String> widgetInfoMap = new LinkedHashMap<String, String>();          //http://blog.csdn.net/com360/article/details/6618086        /** Called when the activity is first created. */       @Override       public void onCreate(Bundle savedInstanceState) {           super.onCreate(savedInstanceState);           setContentView(R.layout.main);           String zipfile = "/sdcard/abc.zip";           try {               unzip(zipfile, "/sdcard/");//yangguangfu/wujiali/                                          } catch (Exception e) {               // TODO Auto-generated catch block                e.printStackTrace();                          }                      mWebView=(WebView)findViewById(R.id.web);           mWebView.loadUrl("file:///sdcard/abc/aaa.html");//此处加载解压后的html内容          }          /*       * 这个是解压ZIP格式文件的方法       *        * @zipFileName:是传进来你要解压的文件路径,包括文件的名字;       *        * @outputDirectory:选择你要保存的路劲;       *        */       private void unzip(String zipFileName, String outputDirectory)               throws Exception {           ZipInputStream in = new ZipInputStream(new FileInputStream(zipFileName));           ZipEntry z;           String name = "";           String extractedFile = "";           int counter = 0;              while ((z = in.getNextEntry()) != null) {               name = z.getName();               Log.d(TAG, "unzipping file: " + name);               if (z.isDirectory()) {                   Log.d(TAG, name + "is a folder");                   // get the folder name of the widget                    name = name.substring(0, name.length() - 1);                   File folder = new File(outputDirectory + File.separator + name);                   folder.mkdirs();                   if (counter == 0) {                       extractedFile = folder.toString();                   }                   counter++;                   Log.d(TAG, "mkdir " + outputDirectory + File.separator + name);               } else {                   Log.d(TAG, name + "is a normal file");                   File file = new File(outputDirectory + File.separator + name);                   file.createNewFile();                   // get the output stream of the file                    FileOutputStream out = new FileOutputStream(file);                   int ch;                   byte[] buffer = new byte[1024];                   // read (ch) bytes into buffer                    while ((ch = in.read(buffer)) != -1) {                       // write (ch) byte from buffer at the position 0                        out.write(buffer, 0, ch);                       out.flush();                   }                   out.close();               }           }              in.close();          }             }  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wygpxw.html