`
linsl
  • 浏览: 72010 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

java压缩文件夹下的所有文件和选定文件

    博客分类:
  • java
阅读更多

 

  1. package zip;  
  2. import java.io.File;  
  3. import java.io.FileInputStream;  
  4. import java.io.FileOutputStream;  
  5.   
  6. import org.apache.tools.zip.ZipEntry;  
  7. import org.apache.tools.zip.ZipOutputStream;  
  8.     
  9. public class test {     
  10.          
  11.     /**   
  12.      *    
  13.      * @param inputFileName 输入一个文件夹   
  14.      * @param zipFileName   输出一个压缩文件夹,打包后文件名字   
  15.      * @throws Exception   
  16.      */    
  17.     public void zip(String inputFileName, String zipFileName) throws Exception {     
  18.         System.out.println(zipFileName);     
  19.         zip(zipFileName, new File(inputFileName));     
  20.     }     
  21.     
  22.     private void zip(String zipFileName, File inputFile) throws Exception {     
  23.         ZipOutputStream out = new ZipOutputStream(new FileOutputStream(     
  24.                 zipFileName));     
  25.         zip(out, inputFile, "");     
  26.         System.out.println("zip done");     
  27.         out.close();     
  28.     }     
  29.     
  30.     private void zip(ZipOutputStream out, File f, String base) throws Exception {     
  31.         if (f.isDirectory()) {  //判断是否为目录     
  32.             File[] fl = f.listFiles();     
  33. //            out.putNextEntry(new org.apache.tools.zip.ZipEntry(base + "/"));     
  34.             out.putNextEntry(new ZipEntry(base + "/"));     
  35.             base = base.length() == 0 ? "" : base + "/";     
  36.             for (int i = 0; i < fl.length; i++) {     
  37.                 zip(out, fl[i], base + fl[i].getName());     
  38.             }     
  39.         } else {                //压缩目录中的所有文件     
  40. //            out.putNextEntry(new org.apache.tools.zip.ZipEntry(base));     
  41.             out.putNextEntry(new ZipEntry(base));     
  42.             FileInputStream in = new FileInputStream(f);     
  43.             int b;     
  44.             System.out.println(base);     
  45.             while ((b = in.read()) != -1) {     
  46.                 out.write(b);     
  47.             }     
  48.             in.close();     
  49.         }     
  50.     }     
  51.     
  52.     public static void main(String[] temp) {     
  53.         String inputFileName = "F:\\xxx\\excel\\多文件合并测试";    //你要压缩的文件夹     
  54.         String zipFileName = "D:\\test.zip";  //压缩后的zip文件     
  55.     
  56.         test book = new test();     
  57.         try {     
  58.             book.zip(inputFileName, zipFileName);     
  59.         } catch (Exception ex) {     
  60.             ex.printStackTrace();     
  61.         }     
  62.     }     
  63.     
  64. }    

分享到:
评论

相关推荐

    支持多文件及文件夹压缩工具

    1. **遍历文件和目录**:工具会首先遍历用户指定的所有文件和子目录,收集需要压缩的文件信息。 2. **创建压缩文件结构**:根据所选的压缩格式(如ZIP、RAR、7Z等),工具会创建一个对应的文件结构。例如,在ZIP...

    使用Java创建文件压缩工具 - 一个实战教程

    要实现文件或文件夹的压缩,我们需要遍历选定的文件或目录,然后使用ZipOutputStream将每个文件写入压缩流。对于每个文件,我们创建一个ZipEntry,并将其添加到ZipOutputStream中。然后,我们读取文件内容并写入...

    JavaFileZipper:提供GUI界面的Java程序。 指定您要压缩的文件,也要压缩文件的位置以及文件名

    JavaFileZipper是一款基于Java开发的图形用户界面(GUI)应用程序,主要用于文件和文件夹的压缩操作。这个程序为用户提供了一种直观的方式来指定他们想要压缩的文件或目录,并且允许他们在压缩过程中设置输出位置和...

    文件备份记录工具.zip

    它执行的主要任务是对选定的文件或文件夹进行复制,保存到用户设定的目标路径,同时创建或更新“FileBackUP.db”数据库文件,用于存储备份历史记录。 【标签】"java backup"明确了这个工具的核心功能和实现技术,即...

    功能较完善的文件管理器java课程设计报告.doc

    在这个设计中,它可能用于显示选定目录下的所有文件。 4. **JFileChooser**: `javax.swing.JFileChooser`是一个对话框,用户可以通过它来选择或保存文件。在这个文件管理器中,可能被用来让用户选择要操作的文件或...

    解压缩加密工具类SSSS

    3. 批量处理:用户可以一次性加密或解压缩多个文件或整个文件夹。 4. 预览功能:在解压缩前预览文件内容,确认无误后再进行操作。 5. 错误恢复:如果在解压缩过程中遇到问题,工具可能提供恢复功能,防止数据丢失。 ...

    java 自己用的加密解密图形工具程序

    jmtools可能包含了这些文件夹和文件,比如src目录存放源代码,lib目录可能有依赖的库,而bin目录则包含可执行的jar文件。 总的来说,这个Java加密解密图形工具程序是一个个人项目,提供了源代码,可以帮助开发者...

    eclipse打开资源文件位置插件

    3. 解压缩OpenExplorer_1.5.0,将其中的jar文件复制到`dropins`文件夹内。 4. 最后,重启Eclipse,插件会自动加载并生效。 启用插件后,在Eclipse中,当你右键点击一个文件或文件夹时,你会看到一个新的菜单选项...

    zuoye.zip

    4. 7-Zip会解压所有包含的文件到选定的文件夹。 在Windows系统中,也可以使用内置的"压缩和解压缩工具": 1. 双击"zuoye.zip",系统会自动打开"文件资源管理器"。 2. 在顶部菜单中选择"提取所有",然后选择解压的...

    linux配置安装java

    - 在选定的目录下解压下载的文件,解压后会在该目录下创建一个新的文件夹,其中包含了JDK的所有组件。 4. **配置环境变量** - 在`/etc/profile`文件中添加必要的配置项,以便设置Java的环境变量。 5. **执行配置*...

    用Eclipse生成Jar文件.docx

    - **选择资源(Select Resources)**:在"JAR导出"对话框中,确认选定你要导出的项目"096",这通常会自动选中整个项目及其所有子文件和依赖。 - **设置导出目标**:点击"浏览(Browse)"按钮,选择你希望保存JAR...

    AES_JAVA_src.zip_AES_crypt.java

    在"src"这个压缩包子文件中,通常会包含项目的源代码文件夹结构,可能有类文件、接口定义和其他相关的辅助文件。开发者可以通过查看这些源代码,学习如何在Java中实现AES加密解密,理解加密解密的流程,以及如何正确...

    FileBrower.zip

    这个插件应该包含一个方法,允许Unity调用Android的文件选择器并返回选定文件的路径。 在Android端,我们可以利用Intent系统来打开文件管理器。创建一个Intent,设置其类型为`*/*`以允许用户选择所有类型的文件。...

    字符替换器v1.01[批量字符替换工具.支持很多类型文件].

    支持很多类型文件].rar"则是字符替换器v1.01的压缩文件,包含了软件的所有组件和必要的文档,用户解压后即可开始使用。 总的来说,字符替换器v1.01是一款强大的批量字符处理工具,其批量替换功能和广泛的文件类型...

    答案.zip

    在这样的场景下,".zip"内的文件名列表(如"答案")可能是项目目录结构的一部分,可能包含README文件(解释项目用途和如何使用)、源代码文件(如.java、.py、.cpp等)、资源文件(如图片、音频、配置文件)以及可能...

    网管教程 从入门到精通软件篇.txt

    JAR:Java档案文件(一种用于applet和相关文件的压缩文件) JAVA:Java源文件 JAR:Java档案文件(一种用于applet和相关文件的压缩文件) JAVA:Java源文件 JFF,JFIF,JIF:JPEG文件 JPE,JPEG,JPG:JPEG图形...

    MongoDB 学习文档,内附Java代码

    - 在解压后的文件夹中新建`db`和`log`两个文件夹用于存放数据库文件和日志文件。 - 打开命令提示符窗口,输入以下命令进行MongoDB服务的安装: ```bash mongod.exe --dbpath=D:/handler/Mongodb/software/db/ --...

    jd-gui-windows-1.6.3.rar

    对于Java,反编译的主要目的是获取源代码的近似表示,尽管可能无法精确恢复所有原始注释和特定的代码结构。 总的来说,JD-GUI是Java开发者的必备工具之一,它提供了直观的图形界面,使得查看和理解.class文件变得...

    VSS完全备份操作步骤

    VSS(Volume Shadow Copy Service,卷影副本服务)是Windows操作系统中的一项功能,它允许用户在不影响应用程序运行的情况下创建文件系统的快照。这种技术在备份、数据恢复和系统还原等场景中发挥着重要作用。VSS...

    如何在myeclipse中导入现有项目到工作空间

    选择好项目位置后,MyEclipse会列出所有在选定目录下的项目。你可以勾选你想要导入的项目,并在右侧设置每个项目的导入选项。例如,你可以选择是否将项目链接到原位置,或者复制到工作空间。确认无误后,点击...

Global site tag (gtag.js) - Google Analytics