//上传文件到服务器
    String tempPath = req.getSession().getServletContext().getRealPath("webResources/templet/");   String filename = importFile.getOriginalFilename();  // @RequestParam("importFile") CommonsMultipartFile importFile  作为参数传递后台
   //解压Zip文件
   String zipPath = tempPath + File.separator + filename;
   String zipFolder = filename.substring(0, filename.length() - 4);
   String decompressPath = tempPath + File.separator + zipFolder;  List<String> filePathList =readByApacheZipFile(zipPath, decompressPath);
@SuppressWarnings("unchecked")
 
    public List<String> readByApacheZipFile(String zipPath, String decompressPath) throws IOException,
             FileNotFoundException, ZipException {
         File f = new File(decompressPath);
         if (!f.exists()) {
             f.mkdirs();
         }
         List<String> filePathList = new ArrayList<String>();
         ZipFile zf = new ZipFile(zipPath, "GBK");//支持中文  
         Enumeration<ZipEntry> e = zf.getEntries();
         while (e.hasMoreElements()) {
             ZipEntry ze2 = (ZipEntry) e.nextElement();
             String entryName = ze2.getName();
             String path = decompressPath + "/" + entryName;
             if (ze2.isDirectory()) {
                 System.out.println("正在创建解压目录 - " + entryName);
                 File decompressDirFile = new File(path);
                 if (!decompressDirFile.exists()) {
                     decompressDirFile.mkdirs();
                 }
             } else {
                 System.out.println("正在创建解压文件 - " + entryName);
                 String fileDir = path.substring(0, path.lastIndexOf("/"));
                 File fileDirFile = new File(fileDir);
                 if (!fileDirFile.exists()) {
                     fileDirFile.mkdirs();
                 }
                 BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(path));
                 BufferedInputStream bi = new BufferedInputStream(zf.getInputStream(ze2));
                 byte[] readContent = new byte[1024];
                 int readCount = bi.read(readContent);
                 while (readCount != -1) {
                     bos.write(readContent, 0, readCount);
                     readCount = bi.read(readContent);
                 }
                 bos.close();
                 String curDateStr = PortalUtils.getCurrentDateTimeString();
                 String renamePath = decompressPath + "/" + entryName.substring(0, entryName.lastIndexOf("/") + 1)
                         + curDateStr + "_" + entryName.substring(entryName.lastIndexOf("/") + 1, entryName.length());
                 File ff = new File(path);
                 ff.renameTo(new File(renamePath));
                 filePathList.add(renamePath);
             }
         }
         zf.close();
         return filePathList;
     }