网上找了一个文件打包的程序。感觉不错拿来用用^_^
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文件详解java代码打包exe
Java实现zip文件打包和解压,导入即用方便好使
Eclipse_java文件打包成exe文件详解java代码打包exe
将Java代码打包为exe文件
附件是几十个java游戏源代码打包,仅供学习使用。 1、纯java编写 2、主流小游戏
将Java代码打包为exe文件,绝对可行
应用java来压缩需要打包的文件,在系统管理中将毛哥路径或者某个文件夹压缩成zip包
用例子的详细的介绍了java中打包成可执行文件的过程,经过测试。
很简单的代码很轻松的实现件压缩包zip解压
Java实现多线程远程投屏并打包可执行文件(从代码到.exe)
中国象棋,java源代码及打包可运行文件 java课程设计中国象棋 有悔棋,新游戏,退出按钮有悔棋,新游戏,退出按钮
核心提示:首先,将编译好的程序打包成jar文件,然后做出exe,这样代码就不可见了;但是exe文件在没有安装jre的电脑上不能运行,如果要求客户再去安装jre 设置环境变量 就不雅了。我们需要将jre打包。 这几步操作...
java代码,打包成jar文件以及转换为exe可执行文件
allatori第二代Java代码混淆器Maven打包配置,依赖库,以及配置文件。示例运行,可行。
Java进阶学习jar打包详解 Java进阶学习jar打包详解 Java进阶学习jar打包详解 Java进阶学习jar打包详解
主要为大家详细介绍了java利用oss实现下载功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
主要为大家详细介绍了java后台批量下载文件并压缩成zip下载的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本资源涵盖了java打包jar文件所使用的例子,实际实用可结合我在CSDN发表的文章:http://blog.csdn.net/indexman/article/details/17333749
核心提示:首先,将编译好的程序打包成jar文件,然后做出exe,这样代码就不可见了;但是exe文件在没有安装jre的电脑上不能运行,如果要求客户再去安装jre 设置环境变量 就不雅了。我们需要将jre打包。 这几步操作...