资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

java代码导出压缩包,java 导出包

怎样用Java生成ZIP文件

import java.io.BufferedOutputStream;

创新互联公司主营普定网站建设的网络公司,主营网站建设方案,成都APP应用开发,普定h5小程序定制开发搭建,普定网站营销推广欢迎普定等地区企业咨询

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import org.apache.tools.zip.ZipEntry;

import org.apache.tools.zip.ZipOutputStream;

/**

* @project: Test

* @author chenssy

* @date 2013-7-28

* @Description: 文件压缩工具类

*                   将指定文件/文件夹压缩成zip、rar压缩文件

*/

public class CompressedFileUtil {

/**

* 默认构造函数

*/

public CompressedFileUtil(){

}

/**

* @desc 将源文件/文件夹生成指定格式的压缩文件,格式zip

* @param resourePath 源文件/文件夹

* @param targetPath  目的压缩文件保存路径

* @return void

* @throws Exception

*/

public void compressedFile(String resourcesPath,String targetPath) throws Exception{

  File resourcesFile = new File(resourcesPath);     //源文件

  File targetFile = new File(targetPath);           //目的

  //如果目的路径不存在,则新建

  if(!targetFile.exists()){  

      targetFile.mkdirs();

  }

  String targetName = resourcesFile.getName()+".zip";   //目的压缩文件名

  FileOutputStream outputStream = new FileOutputStream(targetPath+"\\"+targetName);

  ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(outputStream));

  createCompressedFile(out, resourcesFile, "");

  out.close();

}

/**

* @desc 生成压缩文件。

*                  如果是文件夹,则使用递归,进行文件遍历、压缩

*       如果是文件,直接压缩

* @param out  输出流

* @param file  目标文件

* @return void

* @throws Exception

*/

public void createCompressedFile(ZipOutputStream out,File file,String dir) throws Exception{

  //如果当前的是文件夹,则进行进一步处理

  if(file.isDirectory()){

      //得到文件列表信息

      File[] files = file.listFiles();

      //将文件夹添加到下一级打包目录

      out.putNextEntry(new ZipEntry(dir+"/"));

   

      dir = dir.length() == 0 ? "" : dir +"/";

   

      //循环将文件夹中的文件打包

      for(int i = 0 ; i files.length ; i++){

          createCompressedFile(out, files[i], dir + files[i].getName());         //递归处理

      }

  }

  else{   //当前的是文件,打包处理

      //文件输入流

      FileInputStream fis = new FileInputStream(file);

   

      out.putNextEntry(new ZipEntry(dir));

      //进行写操作

      int j =  0;

      byte[] buffer = new byte[1024];

      while((j = fis.read(buffer)) 0){

          out.write(buffer,0,j);

      }

      //关闭输入流

      fis.close();

  }

}

public static void main(String[] args){

  CompressedFileUtil compressedFileUtil = new CompressedFileUtil();

  try {

      compressedFileUtil.compressedFile("G:\\zip", "F:\\zip");

      System.out.println("压缩文件已经生成...");

  } catch (Exception e) {

      System.out.println("压缩文件生成失败...");

      e.printStackTrace();

  }

}

}

 运行程序结果如下:

 压缩之前的文件目录结构:

如果是使用java.util下的java.util.zip进行打包处理,可能会出现中文乱码问题,这是因为java的zip方法不支持编码格式的更改,我们可以使用ant.java下的zip工具类来进行打包处理。所以需要将ant.jar导入项目的lib目录下。

用eclipse写好java后导出文件是压缩文件怎么办

导出Runnabled Jar File,选择你要运行的主java类(含有main方法的java类)。导出jar包就可以运行,没有Runnabled Jar File,右键项目导出jar也可以,之间有一步是选择Main class,选择你的那个要运行的java类(含有main 方法)导出的jar包就可以运行

如何使用JAVA代码压缩PDF文件

用java代码压缩应用到程序了,代码一般是比较复杂的,对pdf文件的mate标签优化,这类标签包括三类,pdf文件不是网页就是个文件,何况我们可以用pdf压缩工具压缩,下面有个解决方法,楼主可以做参照。

1:点击打开工具,打开主页面上有三个功能进行选择,我们选择pdf文件压缩。

2:这这个页面中我们选择pdf文件在这里打开,点击“添加文件”按钮将文件添加进来。

3:然后在页面中点击“开始压缩”就可以开始压缩文件了。

4:压缩完成的文件页面会显示已经完成。

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包

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代码导出压缩包,java 导出包
当前URL:http://www.cdkjz.cn/article/hssihp.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220