导航:首页 > 编程语言 > 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包相关的资料

热点内容
ps3文件分割视频 浏览:280
微信图片一键转发软件 浏览:331
如何判断s200plc编程电缆 浏览:691
太原编程培训班哪个好 浏览:171
树叶吹奏教程 浏览:6
社交app带来了哪些社会问题 浏览:394
如何安装爱宝8800数据采集器 浏览:712
文件保存了怎么找不到了 浏览:476
彩票网站怎么辨真假 浏览:840
pr找不到该文件 浏览:963
java移除panel 浏览:354
jsp填充jsp 浏览:166
海关外贸大数据在哪里查 浏览:381
思特奇java笔试题 浏览:121
葫芦侠在手机中的文件名 浏览:813
plc编程应该怎么收钱 浏览:584
c语言中源文件由什么组成 浏览:890
linuxhttpdphp配置文件 浏览:607
拆单数据要怎么保存 浏览:17
mac电脑怎样压缩文件到100m 浏览:645

友情链接