解压文件到指定目录
private static void unzip(InputStream fis, String outputDirectory) throws Exception { ZipInputStream in = new ZipInputStream(fis); ZipEntry z; String name = "" ; String extractedFile = "" ; int counter = 0 ; while ((z = in.getNextEntry()) != null ) { name = z.getName(); Log.d( "Test" , "unzipping file: " + name); if (z.isDirectory()) { Log.d( "Test" , 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( "Test" , "mkdir " + outputDirectory + File.separator + name); } else { Log.d( "Test" , 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(); } |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步