已有101人关注
例15.7有问题想请教一下老师
发表在Java图书答疑 2019-02-15 《Java从入门到精通(第4版)》第15章 I/O(输入/输出) 286页-287页
是否精华
版块置顶:
  1. 按例题中第一个方法使用Private修饰词,exlipse提示错误,不用能。

  2. 压缩后的文件打开,每个目录下都有一个后缀带”E:“的条目,如图。


  3. 代码都是从书上抄下来的,检查了多次也没有不一样的地方啊??如下:

  4. import java.io.File;

  5. import java.io.FileInputStream;

  6. import java.io.FileOutputStream;

  7. import java.util.zip.ZipEntry;

  8. import java.util.zip.ZipOutputStream;


  9.     public class myzip {//创建类

  10. private void zip(String zipFileName, File f) throws Exception {//创建方法,(压缩后文件,目标压缩文件)

  11. //创建压缩类对象out

  12. ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipFileName));

  13. zip(out, f , "");//调用重构后的方法zip()

  14. System.out.println("压缩中......");

  15. out.close();//关闭流


  16. }


  17. private void zip(ZipOutputStream out, File f, String base) throws Exception {//重构方法zip,加入参数(压缩对象类代替参数压缩后文件、目标压缩文件、目录文件名)

  18.          if (f.isDirectory()){//判断目标文件是否为文件夹

  19.         File[] f1 = f.listFiles();//获取文件内数组

  20.         if(base.length()!=0){//如果文件夹内不为空

  21.         out.putNextEntry(new ZipEntry(base+"/"));//写入文件条目名加'/'

  22.         }

  23.         for (int i=0;i<f1.length;i++){//循环遍历数组

  24.         zip(out,f1[i],base+f1[i]);//调用方法

  25.         }

  26.          }else{//如果不是文件夹,是文件。

  27.         out.putNextEntry(new ZipEntry(base));//调用压缩对象out创建新的条目,

  28.         FileInputStream in= new FileInputStream(f);//创建文件输出流对象

  29.         int b;

  30.         System.out.println(base);

  31.         while((b = in.read())!=-1){//循环读出流对象直至尾部

  32.         out.write(b);//写入文件条目

  33.         }

  34.         in.close();//关闭流

  35.          }

  36.          

  37. }

  38. public static void main(String[] args) {

  39. myzip book = new myzip();

  40. try {

  41. book.zip("E:/hello.zip", new File("E:/hello"));

  42. System.out.println("压缩完成");

  43. } catch (Exception e) {


  44. }

  45. }

  46. }

2019-02-18 02:21:31编辑
分享到:
精彩评论 1
根号申
学分:4736 LV12
TA的每日心情
2021-07-16 23:48:46
2019-02-18
沙发

ZipTools.rar

这个例子写的不好,建议你参考这个例子

首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照