栏目导航
热点推荐
- 三十条有用的 Java 编程规则
- Java制作水印图片源码
- Java常见异常及可能的导致原因
- Java中的修饰词使用方法总结
- J2EE系统异常的处理准则
- Java中的异常、断言、日志解析(
- Java面试技巧:Java面试题集锦(
- 面向Java开发人员的Scala指南:
- Java程序员:一刻钟精通正则表达
- 网友经验分享:学好java开发的关
- 专家解答:创建表格与数据库进行
- Java远程访问Domino数据库
阅览排行
Jjava程序实现压缩某目录代码
www.jz123.cn 2010-04-07 来源: 中国建站 责任编辑(袁袁) 我要投递新闻
public class TestZip { public static String SERPEROT = "/"; public static int BUFFER = 2048; public static void main(String args[]){ zip("e:/hello/", "e:/hello.zip"); } public static void zip(String srcFile, String descFile){ ZipOutputStream zos = null; FileOutputStream fos = null; File file = null; try { fos = new FileOutputStream(descFile); zos = new ZipOutputStream(fos); file = new File(srcFile); String folder = srcFile.substring(srcFile.lastIndexOf("/") +1,srcFile.length()); zip(zos,file,folder); } catch (FileNotFoundException e) { e.printStackTrace(); }finally{ try{ if(zos != null){zos.close();} if(fos != null){fos.close();} }catch(Exception e){ e.printStackTrace(); } } } private static void zip(ZipOutputStream descFile, File srcFile,String srcfolder){ FileInputStream fis = null; System.out.println(srcFile.isDirectory()); try{ if(srcFile.isDirectory()){ File[] files = srcFile.listFiles(); descFile.putNextEntry(new ZipEntry(srcfolder + "/")); //是压缩包里面的路径. srcfolder = srcfolder.length() == 0 ? "" : srcfolder + "/"; System.out.println(srcfolder); for(int i= 0; i zip(descFile,files[i],srcfolder + files[i].getName()); } }else{ descFile.putNextEntry(new ZipEntry(srcfolder)); fis = new FileInputStream(srcFile); byte[] bytes = new byte[2048]; int n =0; while((n = fis.read(bytes)) != -1){ descFile.write(bytes,0,n); } } }catch(Exception e){ e.printStackTrace(); }finally{ try{ if(fis != null){fis.close();} }catch(Exception e){ e.printStackTrace(); } } } } |
0
上一篇:在Java程序中处理数据库超时与死锁 下一篇:Java和PHP在Web开发方面的比较