public static void parseZIP(String path,String filename,String resourcePath){ System.out.println("filename:"+filename); String filename0 = filename.substring(0, filename.lastIndexOf(".")); createFile(filename0); String pathDir = createDirs(filename0,resourcePath); try { // destination folder to extract the contents byte[] buf = new byte[1024]; ZipInputStream zipinputstream = null; ZipEntry zipentry; zipinputstream = new ZipInputStream(new FileInputStream(path)); zipentry = zipinputstream.getNextEntry(); while (zipentry != null) { // for each entry to be extracted String entryName = zipentry.getName(); // System.out.println(entryName); int n; FileOutputStream fileoutputstream; // File newFile = new File(entryName); if (!zipentry.isDirectory()) { // System.out.println("File to be extracted....." + entryName); fileoutputstream = new FileOutputStream(pathDir+File.separator+entryName); while ((n = zipinputstream.read(buf, 0, 1024)) > -1) { fileoutputstream.write(buf, 0, n); } fileoutputstream.close(); } zipinputstream.closeEntry(); zipentry = zipinputstream.getNextEntry(); } zipinputstream.close(); } catch (Exception e) { e.printStackTrace(); } } //解析 Rar文件 放到指定的目录 环境 public static void parseRAR(String path,String filename,String resourcePath) { if(!path.toLowerCase().endsWith(".rar")){ } String filename0 = filename.substring(0, filename.indexOf(".rar")); createFile(filename0); String pathDir = createDirs(filename0,resourcePath); FileOutputStream out = null; Archive a = null; try { a = new Archive(new File(path)); FileHeader fh = a.nextFileHeader(); while(fh != null){ String name = fh.getFileNameString(); out = new FileOutputStream(new File(pathDir+File.separator+name)); a.extractFile(fh, out); fh = a.nextFileHeader(); out.close(); } a.close(); } catch (RarException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }catch(Exception e){ e.printStackTrace(); } //System.out.println("--------------end--------------"); } //解析Rar文件 得到里面配置文件 并得到配置文件名称 :包名 private static String getPackageName(String path){ if(!path.toLowerCase().endsWith(".rar")){ } BufferedOutputStream out = null; String retValue = ""; Archive a = null; try { a = new Archive(new File(path)); FileHeader fh = a.nextFileHeader(); while(fh != null){ if(!fh.isDirectory()&&fh.getFileNameString().endsWith(".txt")){ retValue = fh.getFileNameString(); retValue = retValue.substring(retValue.indexOf(File.separator)+1,retValue.lastIndexOf(".txt")); out = new BufferedOutputStream(new FileOutputStream(new File(ParseConfig.getValue("configFiles")+File.separator+retValue+".txt"))); a.extractFile(fh, out); out.flush(); out.close(); break; } fh = a.nextFileHeader(); } a.close(); } catch (RarException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return retValue; }
时间: 2024-12-21 15:02:59