导航:首页 > 编程语言 > java导出zip包

java导出zip包

发布时间:2021-03-05 12:09:15

⑴ 如何用java把内存里的二进制文件打包成ZIP包

Java代码
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
import java.util.zip.ZipOutputStream;

class ZipTest {
// 压缩
public static void zip(String zipFileName, String inputFile)
throws Exception {
File f = new File(inputFile);
ZipOutputStream out = new ZipOutputStream(new FileOutputStream(
zipFileName));
zip(out, f, f.getName());
System.out.println("zip done");
out.close();
}

private static void zip(ZipOutputStream out, File f, String base)
throws Exception {
out.putNextEntry(new ZipEntry(base));
FileInputStream in = new FileInputStream(f);
int b;
while ((b = in.read()) != -1)
out.write(b);
in.close();
}

public static void main(String[] args) {
try {
ZipTest t = new ZipTest();
t.zip("c:\\test.zip", "c:\\1.txt");
} catch (Exception e) {
e.printStackTrace(System.out);
}

}
}

⑵ java导出zip压缩文件a,a里含有b.xml文件和c.zip文件,c.zip文件里有多个xml文件,求指点!

⑶ 怎样用Java生成ZIP文件

写了一个 楼主试试吧
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;

public class TestZip {

public static void main(String[] args) {
String srcFilePath = "f:/sql.txt";
String zipFilePath = "f:/outfile.zip";

zipFile(srcFilePath, zipFilePath);
}

/**
* 压缩文件
* @param srcFilePath 需要压缩的文件的完整路径
* @param zipFilePath 压缩生成的文件的路径
* */
private static void zipFile(String srcFilePath, String zipFilePath) {
if(srcFilePath == null){
throw new RuntimeException("需要压缩的文件的完整路径 不能为空!");
}
if(zipFilePath == null){
throw new RuntimeException("压缩生成的文件的路径 不能为空!");
}

ZipOutputStream zout = null;
FileInputStream fin = null;

try{
File txtFile = new File(srcFilePath);
fin = new FileInputStream(txtFile);
}catch (FileNotFoundException e) {
throw new RuntimeException("压缩失败!找不到文件" + srcFilePath);
}finally {
try {
fin.close();
} catch (Exception e) {

}
}

try {
zout = new ZipOutputStream(new FileOutputStream(new File(zipFilePath)));

File srcFile = new File(srcFilePath);
fin = new FileInputStream(srcFile);

byte[] bb = new byte[4096];
int i = 0;
zout.putNextEntry(new ZipEntry(srcFile.getName()));
while ((i = fin.read(bb)) != -1) {
zout.setLevel(9);
zout.write(bb, 0, i);
}
} catch (IOException e) {
throw new RuntimeException("压缩失败!", e);
} finally {
try {
zout.close();
fin.close();
} catch (Exception e) {

}
}
}

}

⑷ java html导出zip包 response如何设置

response.setContentType("application/zip");

⑸ java 如何将多个excl生成zip文件下载

/**
* 压缩文件zip-Apache中ant所带包
* @功能信息 :
* @参数信息 :
* @返回值信息 :
* @异常信息 :
* */
public void getZip(List list,String path,String fileName) throws Exception{
byte[] buffer = new byte[1024];

String strZipName = fileName + ".zip";
ZipOutputStream out = new ZipOutputStream(new FileOutputStream(path
+ strZipName));
for (int j = 0; j < list.size(); j++) {
String name = list.get(j).toString();
FileInputStream fis = new FileInputStream(path + name);
out.putNextEntry(new ZipEntry(name));
int len;
while ((len = fis.read(buffer)) > 0) {
out.write(buffer, 0, len);
}
out.closeEntry();
fis.close();
}
out.close();
System.out.println("生成Demo.zip成功");
}

⑹ 如何用java调用本地命令生成一个zip包

首先你需要了解zip命令格式,然后在Java程序中调用本地命令使用:
Process proc = Runtime.getRuntime.exec("zip ..");
int result = proc.waitFor(); //等待本地进程的内结束
if(result == 0){
System.out.println("打包成功");
}else{
...}
Java中默认容认为返回的结果为0表示正常结束,非0则有问题;但这跟具体的操作系统和外部程序有关,有时候程序正常结束也可能返回1,这点需要注意~~,因此可以不根据result来确定外部程序的执行情况。

⑺ 如何使用java压缩文件夹成为zip包(最简单的

import java.io.File;

public class ZipCompressorByAnt {

private File zipFile;

/**
* 压缩文件构造函数
* @param pathName 最终压缩生成的压缩文件:目录+压缩文件名.zip
*/
public ZipCompressorByAnt(String finalFile) {
zipFile = new File(finalFile);
}

/**
* 执行压缩操作
* @param srcPathName 需要被压缩的文件/文件夹
*/
public void compressExe(String srcPathName) {
System.out.println("srcPathName="+srcPathName);

File srcdir = new File(srcPathName);
if (!srcdir.exists()){
throw new RuntimeException(srcPathName + "不存在!");
}

Project prj = new Project();
Zip zip = new Zip();
zip.setProject(prj);
zip.setDestFile(zipFile);
FileSet fileSet = new FileSet();
fileSet.setProject(prj);
fileSet.setDir(srcdir);
//fileSet.setIncludes("**/*.java"); //包括哪些文件或文件夹 eg:zip.setIncludes("*.java");
//fileSet.setExcludes(...); //排除哪些文件或文件夹
zip.addFileset(fileSet);
zip.execute();
}

}

public class TestZip {

public static void main(String[] args) {

ZipCompressorByAnt zca = new ZipCompressorByAnt("E:\test1.zip ");
zca.compressExe("E:\test1");
}

}

/*如果 出现ant 的 52 51 50 等版本问题 可以去找对应的ant-1.8.2.jar 我开始用的ant-1.10.1.jar 就是这个包版本高了 一直报verson 52 版本问题*/

⑻ 请教JAVA 导出ZIP包 报

相信大家在开发java的时候一定会遇到要求将java工程打包成可运行的jar的需求,今天我在这篇博客中详细讲解一下生成可运行jar的两种方法,亲测完全可行。
1. 工程中不包含第三方的jar包
这种情况比较简单,选中需要生成jar的工程,右击-->Export,

选中java--- > JAR file,
此处要:
选中 Export generated class files and resources;
选中 Compress the contents of the JAR file;
选中 Overwrite existing files without warning;
然后“Next”,

选中 Export class files with compile errors;
选中 Export class files with compile warnings;
点击“Next”,

选择“Main class”,then “finish” OK。
运行jar包的方法:
cmd,进入jar包所在的位置,运行命令 java -jar *.jar,就可以了。或者直接配置文件关联。
2.工程包含第三方的jar包时
如果工程中包含第三方的jar包时,安装上面的方法生产的jar包,在运行时会报java.lang.NoClassDefFoundError的错,经过google, 很多网站之后,发现需要安装eclipse的插件,插件地址是:http://sourceforge.net/projects/fjep/ 下载的文件是“net.sf.fjep.fatjar_0.0.31.zip”,解压缩后你会看到plugins文件夹中的net.sf.fjep.fatjar_0.0.31.jar文件(简称Fat jar)。
Fat jar插件的安装方式:
把Fat jar文件拷贝到你的eclipse目录下的plugins中..重新启动你的eclipse平台,然后查看Window---preferences,弹出的窗口中有Fat jar preferences这一项则说明你已经安装成功了,没有这一项则未安装成功,需要多做如下几步操作:到你的eclipse目录下的configuration---org.eclipse.update,并删除platform.xml文件,然后重新启动eclipse.查看Window---preferences,你会发现Fat jar:

接下来就可以生成包含第三方jar包的可运行的jar包了。
选中工程,右击 -- > Export --- > Other --- > Fat jar Exportor,

然后,next ---> 选中要生成jar包的工程 -- > next ,

在这里需要设置Main-class,它的值是工程运行的main class,并且勾上One-JAR,点击 next;

即是项目引用的第三方类库,点击“finish”,这样就生成了包含第三方jar包的可运行的jar包。以上上在基于Eclipse 3.6.2(蓝色标题栏)和Eclipse 4.2.1(红色标题栏)的效果,如果是Eclipse 3.6以下的版本(具体的版本不确定,因为我没有试过),在选中工程右击后,会有Build Fat Jar,

接下来的操作大同小异了。

⑼ java代码实现 导出zip包,无法打开zip压缩包

package com.lch.test;

import java.util.Enumeration;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;

public class ZIP {
public static void main(String[] argv) throws Exception {
ZipFile zf = new ZipFile("E:\\wk\\LBSLEMIS201106141057\\LBSLEMIS\\test\\com\\lch\\test\\filename.zip");

for (Enumeration entries = zf.entries(); entries.hasMoreElements();) {
String zipEntryName = ((ZipEntry) entries.nextElement()).getName();
System.out.println(zipEntryName);
}
}
}

用javad 的ZipFile类的ZipEntry方法试一下 找到ZIP里面的ZipEntry方法 读取Zip里面压缩文件的内容

有可能会引用外包

你好,我不知道你说的dzp是什么格式文件,但如果是zip的压缩文件,可以看下我的这段代码

ZipFile file = new ZipFile("d:\\1.zip");
ZipEntry entry = file.getEntry("1.xml"); //假如压缩包里的文件名是1.xml
InputStream in=file.getInputStream(entry);
最后就是按照java中一贯的流的处理方式即可

可以不解压,zip包里的一个对象就是一个ZipEntry
找到你想要的那个ZipEntry,用文流写出来就可以了。追问通过ZipEntry,然后用流就可以读出里面的内容了吗?谢谢指点!
回答/**
* 解压
* @param root 输出目标
* @param zipfile zip文件
*/
protected void unzip(File root, File zipfile, String file) throws Exception {

// 解压文件不存在时返回
if (!zipfile.exists()) {
return;
}
// 释放目录不存时创建
if (!root.exists()) {
root.mkdirs();
}
// 释放目录不为目录时返回
if (!root.isDirectory()) {
return;
}

FileInputStream fin = new FileInputStream(zipfile);
ZipInputStream zin = new ZipInputStream(fin);
ZipEntry entry = null;

while ((entry = zin.getNextEntry()) != null) {
// if (!entry.getName().endsWith(file)) {
// continue;
// }
File tmp = new File(root, entry.getName());
if (entry.isDirectory()) {
tmp.mkdirs();
} else {
byte[] buff = new byte[4096];
int len = 0;
tmp.getParentFile().mkdirs();
FileOutputStream fout = new FileOutputStream(tmp);
while ((len = zin.read(buff)) != -1) {
fout.write(buff, 0, len);
}
zin.closeEntry();
fout.close();
}
}

}
这里完整的解压代码。
// if (!entry.getName().endsWith(file)) {
// continue;
// }
这段打开就是只解出一个你指定的文件。

下面是测试用的。
public static void main(String[] args) throws Exception {
new CommonFiles().unzip(new File("D:\\"), new File("D:\\test.zip"),"file.txt");
}

这个例子会在D盘生成型个test文件夹,file.txt就会在里面,(里面也可能会有多个文件夹,这个取决于压缩包里文件的度)

⑽ java导出为什么弹出来的是.zip

把问题描述清楚点,你是想导出xlsx吗? 你自己看下代码,有个地方也许默认导出的是zip格式

阅读全文

与java导出zip包相关的资料

热点内容
微信支付宝账单怎么看 浏览:448
眼镜看见老师内衣 浏览:322
激情床戏韩国古代 浏览:661
50部违禁小说 浏览:715
团鬼六电影 浏览:290
vip免费网站全免费 浏览:257
夏荷vs秋凝乳斗 浏览:420
苹果下载打不开怎么回事 浏览:765
刘凡菲地下车库什么电影 浏览:507
爱情动作电影名字 浏览:917
穿越雪域雄鹰之战神系统 浏览:233
关于越南缅甸的电影 浏览:436
朴银狐同类型演员 浏览:762
js时间保留2位 浏览:608
午马神电影 浏览:257
现代师徒训诫罚跪严苛 浏览:374
金花媛代表作 浏览:685
稚气by嗜酒吃茶txt下载 浏览:932
看免费大片网站 浏览:915
手机文件夹里哪些是没用的 浏览:802

友情链接