网上找了一个文件打包的程序。感觉不错拿来用用^_^
package test;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
public class Zip {
/**
* 压缩文件夹
* @param zipPath 生成的zip文件路径
* @param filePath 需要压缩的文件夹路径
* @throws Exception
*/
public void zipFolder(String zipPath, String filePath) throws Exception {
ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipPath));
File f = new File(filePath);
zipFiles(out, f, "");
out.close();
}
/**
* 压缩单一个文件
* @param zipPath 生成的zip文件路径
* @param filePath 需要压缩的文件路径
* @throws Exception
*/
public void zipFile(String zipPath, String filePath) throws Exception {
File f = new File(filePath);
FileInputStream fis = new FileInputStream(f);
BufferedInputStream bis = new BufferedInputStream(fis);
byte[] buf = new byte[1024];
int len;
FileOutputStream fos = new FileOutputStream(zipPath);
BufferedOutputStream bos = new BufferedOutputStream(fos);
ZipOutputStream zos = new ZipOutputStream(bos);//压缩包
ZipEntry ze = new ZipEntry(f.getName());//这是压缩包名里的文件名
zos.putNextEntry(ze);// 写入新的ZIP文件条目并将流定位到条目数据的开始处
while ((len = bis.read(buf)) != -1) {
zos.write(buf, 0, len);
zos.flush();
}
bis.close();
zos.close();
}
/**
* 递归调用,压缩文件夹和子文件夹的所有文件
* @param out
* @param f
* @param base
* @throws Exception
*/
private void zipFiles(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++) {
zipFiles(out, fl[i], base + fl[i].getName());//递归压缩子文件夹
}
} else {
out.putNextEntry(new ZipEntry(base));
FileInputStream in = new FileInputStream(f);
int b;
//System.out.println(base);
while ((b = in.read()) != -1) {
out.write(b);
}
in.close();
}
}
/**
* @param args
*/
public static void main(String[] args) {
System.out.println("Zip File Begin");
Zip zip = new Zip();
String zipPath = "D:\\test.zip";
String filePath = "D:\\test.txt";
try {
zip.zipFile(zipPath, filePath);//压缩文件
//zip.zipFolder(zipPath, filePath);//压缩文件夹
} catch (Exception ex) {
ex.printStackTrace();
}
System.out.println("Zip File Done");
}
}
分享到:
相关推荐
### Eclipse Java 文件打包成 EXE 文件详解 #### 一、背景介绍 在软件开发领域,尤其是对于非技术用户而言,能够直接运行的应用程序(如Windows平台下的EXE文件)相较于需要特定环境才能运行的程序(如Java应用...
- 使用特定的工具或脚本将前面编写的本地代码与jar文件打包成一个exe文件。 #### 示例代码详解 以下是一段用于启动Java虚拟机并执行Main Class的C++示例代码: ```cpp #include #include // 其他辅助函数省略...
Java实现zip文件打包和解压,导入即用方便好使
在"JAVA文件加密打包实例"中,`encryptProject`可能包含了实现上述功能的代码。这个项目可能包含以下几个关键部分: - 密钥生成和管理模块,用于创建和存储加密密钥。 - 文件加密模块,使用AES或其他算法对单个文件...
- 使用`jar cvfm jartest.jar test.txt`命令将所有文件打包进`jartest.jar`文件中。这里的`c`表示创建新的jar文件;`v`表示详细模式,显示添加到jar文件中的每个文件;`f`表示指定jar文件的名字;`m`表示使用指定的...
### 将Java代码打包为exe文件 #### 一、引言 在开发Java应用程序时,通常我们会使用`.jar`文件来发布程序。然而,在非专业用户的环境中,运行`.jar`文件需要安装Java运行环境(JRE)并且了解如何通过命令行来启动...
在Java编程环境中,批量文件打包成压缩文件是一个常见的需求,特别是在软件发布或数据传输时。Ant,一个由Apache基金会开发的构建工具,是实现这一功能的强大助手。本篇将详细介绍如何利用Java和Ant来实现批量文件的...
Java代码打包工具是开发者在开发过程中经常会用到的一种实用软件,它可以帮助我们将编写好的Java程序集合成可执行的文件,方便部署和分发。这里我们主要讨论的是Java应用程序的打包过程,包括JAR(Java Archive)...
Java文件打包是一个重要的过程,它将Java源代码及其相关资源组织成一个可执行的格式,以便用户能够方便地运行和分发。这个过程通常涉及到多个步骤,包括编译、构建和打包。以下是对这个主题的详细说明: 1. **Java...
要将 exe 文件打包成一个安装文件,我们需要使用 Inno Setup 软件。首先,我们需要安装 Inno Setup,然后启动 Inno Setup,选择“文件”---->“新建”,然后选择“下一步”。 在下一步中,我们需要配置基本信息,如...
在Java编程中,将代码打包成可执行文件是常见的需求,尤其在分发软件或部署应用程序时。这个过程通常涉及到JAR(Java Archive)文件的创建,它是一种用于收集多个类文件、相关的元数据和资源文件的容器。下面将详细...
应用java来压缩需要打包的文件,在系统管理中将毛哥路径或者某个文件夹压缩成zip包
### Java 代码打包成 EXE 文件详解 #### 一、前言 在开发过程中,有时候我们需要将 Java 项目转换为 Windows 下的可执行文件(EXE 文件),这主要是为了提高程序的用户友好度,同时也方便那些没有安装 Java 运行...
在上述的博文链接中,虽然具体内容无法直接查看,但我们可以推测博主可能分享了一种使用Java实现文件打包下载的方法。通常,这涉及到服务器端的编程,例如使用Servlet技术。例如,我们可以创建一个名为`WjxzAction....
7. **文件I/O**:游戏可能需要保存和读取用户进度、配置文件等,因此了解Java的文件I/O操作也是很重要的。 8. **网络编程**:对于多人在线游戏,Java的Socket编程可以用来实现客户端和服务器之间的通信。 9. **...
Java程序通常运行在Java虚拟机(JVM)上,但为了让非Java用户也能方便地运行程序,我们可以将Java代码打包成可执行的Windows EXE文件。这个过程涉及到Java的跨平台编译和封装技术。本文将详细介绍如何使用Eclipse ...
完成上述功能后,可以将所有代码打包成JAR文件,以便于在其他项目中复用。在IDEA中,可以通过"Build Artifacts"功能创建JAR包。在创建的JAR包中,可以提供一个简单的主类,通过命令行参数接收文件路径,执行对比...
Java中的LZMA压缩算法是基于 Seven-Zip 的压缩工具,以Java语言实现的单文件版源代码。该源代码实现了LZMA算法的核心逻辑,包括压缩和解压缩的实现。 LZMA压缩算法概述 LZMA(Lempel-Ziv-Markov chain-Algorithm...