解压缩包

上传压缩包,并获取各个文件的文件名称

java 代码
  1. public class UpLoadMoreFile   
  2.         extends ActionSupport   
  3. {   
  4.     private File upload;   
  5.   
  6.     private List listDirectories;   
  7.   
  8.     public String execute()   
  9.             throws Exception   
  10.     {   
  11.         ZipFile z1 = new ZipFile(upload);   
  12.         Enumeration emun = z1.entries();   
  13.         //目录名称的集合   
  14.         List listZip = new ArrayList();   
  15.         ZipEntry str = null;   
  16.         while (emun.hasMoreElements()) {   
  17.             ZipEntry entry = (ZipEntry) emun.nextElement();   
  18.             if (!entry.isDirectory()) {   
  19.                 str = (ZipEntry) emun.nextElement();   
  20.                 listZip.add(entry.getName());   
  21.             }   
  22.         }   
  23.         listDirectories = listZip;   
  24.         return SUCCESS;   
  25.     }   
  26. }   

 

解压缩,并获取文件在硬盘的具体的url

java 代码
  1. public class UploadMoreProfileAction   
  2.         extends ActionSupport   
  3. {   
  4.     private File upload;   
  5.   
  6.     public String execute()   
  7.             throws Exception   
  8.     {   
  9.         ProfileManager manager = BeanLookup.getInstance().lookup(ProfileManager.class);   
  10.         ZipFile z1 = new ZipFile(upload);   
  11.         Enumeration emun = z1.entries();   
  12.         while (emun.hasMoreElements()) {   
  13.             ZipEntry entry = (ZipEntry) emun.nextElement();   
  14.             if (!entry.isDirectory()) {   
  15.                 File file = readFile(z1, entry);   
  16.                 //通过文件在硬盘的具体url获取文件里的具体信息   
  17.                 UaProfile profile = manager.fetchProfile(file.toURL());   
  18.                               
  19.             }   
  20.         }   
  21.         return SUCCESS;   
  22.     }   
  23.   
  24.     private File readFile(ZipFile z1, ZipEntry entry)   
  25.             throws Exception   
  26.     {   
  27.         InputStream in = z1.getInputStream(entry);   
  28.         File file = File.createTempFile(String.valueOf(System.currentTimeMillis()), "tmp");   
  29.         file.deleteOnExit();   
  30.         FileWriter fw = new FileWriter(file);   
  31.   
  32.         BufferedReader br = new BufferedReader(new InputStreamReader(in));   
  33.         String line = null;   
  34.         while ((line = br.readLine()) != null) {   
  35.             fw.write(line);   
  36.         }   
  37.         fw.flush();   
  38.         fw.close();   
  39.         return file;   
  40.     }   
  41.   
  42.   
  43.     public File getUpload()   
  44.     {   
  45.         return upload;   
  46.     }   
  47.   
  48.     public void setUpload(File upload)   
  49.     {   
  50.         this.upload = upload;   
  51.     }   
  52. }   

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值