java生成压缩文件
2014-08-20 22:48
337 查看
1)因为使用jdk自带的压缩类或导致中文乱码,所以使用ant.jar中带的压缩类
2)maven中导入ant.jar
2)maven中导入ant.jar
<dependency> <groupId>org.apache.ant</groupId> <artifactId>ant</artifactId> <version>1.9.4</version> </dependency>3)压缩文件
<span style="white-space:pre"> </span> try { File file = new File("e:"+File.separator+"文件.txt"); File bmp = new File("e:"+File.separator+"图像.bmp"); if (!file.exists() || !bmp.exists()) { <span style="white-space:pre"> </span>System.out.println("文件不存在"); } else { File zip = new File("e:"+File.separator+"中文压缩.zip"); if (!zip.exists()) { zip.createNewFile(); } <span style="white-space:pre"> </span>// 创建文件输入流对象 <span style="white-space:pre"> </span>FileInputStream fin = new FileInputStream(file); <span style="white-space:pre"> </span>FileInputStream bin = new FileInputStream(bmp); <span style="white-space:pre"> </span>// 创建文件输出流对象 <span style="white-space:pre"> </span>FileOutputStream out = new FileOutputStream(zip); <span style="white-space:pre"> </span>// 创建ZIP数据输出流对象 <span style="white-space:pre"> </span>ZipOutputStream zipOut = new ZipOutputStream(out); <span style="white-space:pre"> </span>zipOut.setEncoding("gb18030"); <span style="white-space:pre"> </span>// 创建指向压缩原始文件的入口 <span style="white-space:pre"> </span>int number = 0; <span style="white-space:pre"> </span>zipOut.putNextEntry(new ZipEntry(file.getName())); <span style="white-space:pre"> </span>// 向压缩文件中输出数据 <span style="white-space:pre"> </span>byte[] buffer = new byte[512]; <span style="white-space:pre"> </span>//向压缩包中第一个文件写入数据 <span style="white-space:pre"> </span>while ((number = fin.read(buffer)) != -1) { <span style="white-space:pre"> </span>zipOut.write(buffer, 0, number); <span style="white-space:pre"> </span>} <span style="white-space:pre"> </span>//向压缩包中第二个文件写入数据 <span style="white-space:pre"> </span>zipOut.putNextEntry(new ZipEntry(bmp.getName())); <span style="white-space:pre"> </span>while ((number = bin.read(buffer)) != -1) { <span style="white-space:pre"> </span> zipOut.write(buffer, 0, number); <span style="white-space:pre"> </span>} <span style="white-space:pre"> </span>zipOut.close(); <span style="white-space:pre"> </span>out.close(); <span style="white-space:pre"> </span>fin.close(); <span style="white-space:pre"> </span>bin.close(); <span style="white-space:pre"> </span>} } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }
相关文章推荐
- c#利用zlib.net对文件进行deflate流压缩(和java程序压缩生成一样)
- java生成压缩文件
- java 压缩文件 传入文件数组,压缩文件,在指定路径下生成指定文件名的压缩文件
- java生成压缩文件
- Java压缩文件生成工具类
- JAVA生成压缩文件
- java生成压缩文件
- java调用windows中的doc命令生成压缩文件
- Java方法进行解压/生成有密码保护的压缩文件(zip格式)
- 通过Java生成加密压缩文件(支持AES压缩和解压zip文件)
- java直接生成zip压缩文件精简代码(跳过txt文件)
- java生成一个XML文件,并且将该文件压缩成ZIP格式后再写到硬盘上
- java生成压缩文件
- java 生成压缩文件
- java生成压缩文件
- Java生成压缩文件的实例代码
- java生成zip压缩文件,解压缩文件
- java鬼混笔记:压缩文件生成zip
- c#利用zlib.net对文件进行deflate流压缩(和java程序压缩生成一样)
- java生成压缩文件示例代码