/** * @author yzh 多个excel导出后打包成zip文件 * @throws Exception */ public static void main(String[] args) throws Exception { List<String> list = new ArrayList<String>(); list.add("靠.xls"); list.add("b.xls"); list.add("c.xls"); String fileName = "excel本地读取打包.zip"; String path = "E:\\"; Ziptest cc = new Ziptest (); cc.getZip(list, path, fileName); System.out.println("生成zip"); //cc.deleteFile(path+fileName+".zip"); //System.out.println("删除zip"); } /** * @author yzh 将多个文件 打包处理(.zip) * @param list 要打包的文件名称集合 * @param path 路径 * @param fileName zip文件名 * @throws Exception */ public void getZip(List<String> list, String path, String fileName) throws Exception { byte[] buffer = new byte[1024]; if(!list.isEmpty() && path!=null&& fileName!=null){ //使用ant.jar中zip.* ZipOutputStream out = new ZipOutputStream(new FileOutputStream(path + fileName)); for (int j = 0; j < list.size(); j++) { String name = list.get(j).toString(); System.out.println(name); FileInputStream fis = new FileInputStream(path + name); out.putNextEntry(new org.apache.tools.zip.ZipEntry(name)); int len; while ((len = fis.read(buffer)) > 0) { out.write(buffer, 0, len); } out.setEncoding("gbk"); //乱码问题 out.setComment("文件的读取"); out.closeEntry(); fis.close(); } out.close(); } } /** * @author yzh 删除文件 * @param targetPath * @throws IOException */ public void deleteFile(String path) throws IOException { File targetFile = new File(path); if (targetFile.isDirectory()) { FileUtils.deleteDirectory(targetFile); } else if (targetFile.isFile()) { targetFile.delete(); } }