1.解析cfg或properties配置文件ui
講配置文件,讀取,並封裝成爲map類型數據url
/** * 解析cfg文件 * * @param cfgFile * @return */ public static Map<String, Object> readCfg(FileInputStream cfgFile) { Properties prop = new Properties(); Map<String, Object> map = new HashMap<String, Object>(); try { // 讀取cfg屬性文件 InputStream in = new BufferedInputStream(cfgFile); prop.load(new InputStreamReader(in, "GBK")); /// 加載屬性列表 Iterator<String> it = prop.stringPropertyNames().iterator(); while (it.hasNext()) { String key = it.next(); map.put(key, prop.getProperty(key).replaceAll("\"", "").replaceAll(";", "")); } in.close(); } catch (Exception e) { System.out.println(e); } return map; }
二、文件夾遍歷spa
/** * 文件夾遍歷 * @param path * @throws Exception */ public static void traverse(String path,String parent_id) throws Exception { System.out.println("path---->" + path); File file = new File(path); Map<String, Object> map = new HashMap<String, Object>(); if (file.exists()) { File[] files = file.listFiles(); if (files.length == 0) { System.out.println("文件夾是空的!"); return; } else { String k_id = UuidUtil.get32UUID(); for (File file2 : files) { if (file2.isDirectory()) {//文件夾 traverse(file2.getAbsolutePath(),parent_id); parent_id = k_id; } else if (file2.isFile()){//文件 if (file2.getName().endsWith(".cfg")) { System.out.println("文件:" + file2.getAbsolutePath()); map = readCfg(new FileInputStream(file2)); System.out.println("-------------"+file2.getAbsolutePath()+"--start-----------"); map.put("path_url", getUrlPath(file2.getAbsolutePath())); map.put("k_id", k_id); map.put("parent_id", parent_id); for (String key : map.keySet()) { System.out.println(key+"--->"+map.get(key)); } parent_id = k_id; System.out.println("-------------"+file2.getAbsolutePath()+"--end-----------"); } } } } } else { System.out.println("文件不存在!"); } }
三、解壓zip.net
/** * 解壓zip * * @param zipFile * @param descDir * @throws Exception */ public static void unZipFiles(File zipFile, String descDir) throws Exception { System.out.println("******************解壓開始********************"); File pathFile = new File(descDir); if (!pathFile.exists()) { pathFile.mkdirs(); } ZipFile zip = new ZipFile(zipFile); for (Enumeration entries = zip.entries(); entries.hasMoreElements();) { ZipEntry entry = (ZipEntry) entries.nextElement(); String zipEntryName = entry.getName(); InputStream in = zip.getInputStream(entry); String outPath = (descDir + "/" + zipEntryName).replaceAll("\\*", "/"); // 判斷路徑是否存在,不存在則建立文件路徑 File file = new File(outPath.substring(0, outPath.lastIndexOf('/'))); if (!file.exists()) { file.mkdirs(); } // 判斷文件全路徑是否爲文件夾,若是是上面已經上傳,不須要解壓 if (new File(outPath).isDirectory()) { continue; } OutputStream out = new FileOutputStream(outPath); byte[] buf1 = new byte[1024]; int len; while ((len = in.read(buf1)) > 0) { out.write(buf1, 0, len); } if ((zipEntryName.trim().lastIndexOf("/")) == -1) { } in.close(); out.close(); } System.out.println("******************解壓完畢********************"); System.out.println("******************遍歷文件夾********************"); String parent_id = ""; traverse(descDir,parent_id); }
4,main方法code
private static ZipFile zf;
private static ZipInputStream zin;
public static void main(String[] args) throws Exception { try { File file = new File("D:\\CCC.zip"); unZipFiles(file, "D:\\CCC"); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }
代碼下載地址:blog