java压缩文件目录
2013-04-27 09:41
309 查看
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.zip.ZipEntry; import java.util.zip.ZipOutputStream; public class UtilsZip { /** * * @param inputFileName源文件目录 * @param zipFileName压缩后的包目录 * @throws Exception */ public void compress(String inputFileName, String zipFileName) throws Exception { zip(zipFileName, new File(inputFileName)); } private void zip(String zipFileName, File inputFile) throws Exception { ZipOutputStream out = new ZipOutputStream(new FileOutputStream( zipFileName)); zip(out, inputFile, ""); out.close(); } private void zip(ZipOutputStream out, File f, String base) throws Exception { if (f.isDirectory()) { // 判断是否为目录 File[] fl = f.listFiles(); out.putNextEntry(new ZipEntry(base + "/")); base = base.length() == 0 ? "" : base + "/"; for (int i = 0; i < fl.length; i++) { zip(out, fl[i], base + fl[i].getName()); } } else { // 压缩目录中的所有文件 out.putNextEntry(new ZipEntry(base)); FileInputStream in = new FileInputStream(f); int b; while ((b = in.read()) != -1) { out.write(b); } in.close(); } } /** * 校验本地文件路径是否合法 * @param pathstr * @return */ public static boolean filePathPreProc(String pathstr){ pathstr=pathstr.replaceAll("\\\\", "/").trim(); java.util.regex.Pattern p=java.util.regex.Pattern.compile("(^\\.|^/|^[a-zA-Z])?:?/.+(/$)?"); java.util.regex.Matcher m=p.matcher(pathstr); //不符合要求直接返回 if(!m.matches()){ return false; } return true; }
相关文章推荐
- 用Java压缩文件或目录下的所有文件
- java-压缩文件成zip文件(多文件/单文件/多目录/单目录/无目录),用于下载
- java压缩文件目录 为 zip
- java实现文件目录压缩
- Java 编程之实现文件或目录的压缩.
- 用Java压缩文件或目录下的所有文件
- 使用Java压缩文件及目录
- 用Java实现zip压缩文件和目录程序代码(二)
- java实现zip压缩多个目录及子目录和文件
- 用Java压缩文件或目录下的所有文件
- 如何用java压缩文件或者目录
- Java 编程之实现文件或目录的压缩.
- Java压缩文件/目录成ZIP包最新技巧
- Java压缩(文件或目录)
- (转)Java压缩文件/目录成ZIP包最新技巧
- Java 把文件/目录压缩成zip文件
- Java实现压缩一个目录下所有图片文件
- JAVA实现将一个目录里的文件压缩到zip文件里
- java 将文件/目录下 zip压缩文件解压并删除压缩包
- java 把指定文件夹下的所有文件目录和文件都压缩到指定文件夹下