diff --git a/designer_base/src/com/fr/design/extra/plugindependence/DownLoadDependenceUI.java b/designer_base/src/com/fr/design/extra/plugindependence/DownLoadDependenceUI.java index 67d3a0354..9edfc21fe 100644 --- a/designer_base/src/com/fr/design/extra/plugindependence/DownLoadDependenceUI.java +++ b/designer_base/src/com/fr/design/extra/plugindependence/DownLoadDependenceUI.java @@ -200,7 +200,7 @@ public class DownLoadDependenceUI implements ActionListener { } //安装文件 - unZipFiles(temp, FRContext.getCurrentEnv().getPath() + dependenceUnit.getDependenceDir()); + IOUtils.unZipFilesGBK(temp, FRContext.getCurrentEnv().getPath() + dependenceUnit.getDependenceDir()); } else { result = false; @@ -272,61 +272,4 @@ public class DownLoadDependenceUI implements ActionListener { private String showFileLength() { return totalSize == -1 ? "NAN" : totalSize / Math.pow(10, 6) + ""; } - - - @SuppressWarnings("unchecked") - public static boolean unZipFiles(String zipFileName, String extPlace) throws Exception { - System.setProperty("sun.zip.encoding", System.getProperty("sun.jnu.encoding")); - try { - (new File(extPlace)).mkdirs(); - File f = new File(zipFileName); - ZipFile zipFile = new ZipFile(zipFileName,"GBK"); //处理中文文件名乱码的问题 - if((!f.exists()) && (f.length() <= 0)) { - throw new Exception("no zip file!"); - } - String strPath, gbkPath, strtemp; - File tempFile = new File(extPlace); - strPath = tempFile.getAbsolutePath(); - Enumeration e = zipFile.getEntries(); - while(e.hasMoreElements()){ - ZipEntry zipEnt = (ZipEntry) e.nextElement(); - gbkPath=zipEnt.getName(); - if(zipEnt.isDirectory()){ - strtemp = strPath + File.separator + gbkPath; - File dir = new File(strtemp); - dir.mkdirs(); - continue; - } else { - //读写文件 - InputStream is = zipFile.getInputStream(zipEnt); - BufferedInputStream bis = new BufferedInputStream(is); - gbkPath=zipEnt.getName(); - strtemp = strPath + File.separator + gbkPath; - - //建目录 - String strsubdir = gbkPath; - for(int i = 0; i < strsubdir.length(); i++) { - if(strsubdir.substring(i, i + 1).equalsIgnoreCase("/")) { - String temp = strPath + File.separator + strsubdir.substring(0, i); - File subdir = new File(temp); - if(!subdir.exists()) - subdir.mkdir(); - } - } - FileOutputStream fos = new FileOutputStream(strtemp); - BufferedOutputStream bos = new BufferedOutputStream(fos); - int c; - while((c = bis.read()) != -1) { - bos.write((byte) c); - } - bos.close(); - fos.close(); - } - } - return true; - } catch(Exception e) { - FRContext.getLogger().info(e.getMessage()); - return false; - } - } }