压缩文件夹 java_JAVA实现压缩文件或文件夹

想到压缩一般大家会先想到rar,由于rar的压缩度高,但人家可是收费的。JAVA中如果要实现压缩一般都是用zip压缩。

首先,讲下压缩文件

import java.io.*;

import java.util.zip.*;//ZipOutputStream这个流在这里

import java.util.*;

public class ZipOutputStreamTest

{

public static void main(String[] args) throws Exception

{

File f = new File("a.jpg");

FileInputStream fis = new FileInputStream(f);

BufferedInputStream bis = new BufferedInputStream(fis);

byte[] buf = new byte[1024];

int len;

FileOutputStream fos = new FileOutputStream(f.getName()+".zip");

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();

}

}

压缩文件夹

import java.io.File;

import org.apache.tools.zip.ZipOutputStream; //这个包在ant.jar里,要到官方网下载

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.util.zip.ZipInputStream;

import java.util.zip.ZipEntry;

public class CompressBook {

public CompressBook() {}

/**//*

* inputFileName 输入一个文件夹

* zipFileName 输出一个压缩文件夹

*/

public void zip(String inputFileName) throws Exception {

String zipFileName = "c://test.zip"; //打包后文件名字

System.out.println(zipFileName);

zip(zipFileName, new File(inputFileName));

}

private void zip(String zipFileName, File inputFile) throws Exception {

ZipOutputStream out = new ZipOutputStream(new FileOutputStream(zipFileName));

zip(out, inputFile, "");

System.out.println("zip done");

out.close();

}

private void zip(ZipOutputStream out, File f, String base) throws Exception {

if (f.isDirectory()) {

File[] fl = f.listFiles();

out.putNextEntry(new org.apache.tools.zip.ZipEntry(base + "/"));

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

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

zip(out, fl[i], base + fl[i].getName());

}

}else {

out.putNextEntry(new org.apache.tools.zip.ZipEntry(base));

FileInputStream in = new FileInputStream(f);

int b;

System.out.println(base);

while ( (b = in.read()) != -1) {

out.write(b);

}

in.close();

}

}

public static void main(String [] temp){

CompressBook book = new CompressBook();

try {

book.zip("c://c");//你要压缩的文件夹

}catch (Exception ex) {

ex.printStackTrace();

}

}

}

注意:内容的中文乱码问题,这个问题网上很多人给出了解决方法,

两种:修改sun的源码;使用开源的类库org.apache.tools.zip.ZipOutputStream和org.apache.tools.zip.ZipEntry,这两个类ant.jar中有,可以下载使用即可,毫无疑问,选择后者更方便

openEuler系统下安装Google Chrome浏览器全攻略(附依赖问题解决方案) 本文详细介绍了在openEuler系统上安装Google Chrome浏览器的完整指南,包括环境准备、多种安装方式、依赖问题解决方案及性能优化技巧。针对openEuler特有的软件生态和依赖管理机制,提供了实用的命令和配置方法,帮助用户克服安装过程中的常见障碍,实现流畅的Chrome使用体验。 阅读详情

相关推荐

【RTD】AD7793两线式铂电阻PT100/PT1000应用

两线式RTD是低成本的检测方案,适用于检测精度不高、导线长度较短的场合。

只要思想不滑坡,想法总比问题多。 4211

Java 基础篇】Java Zip压缩:简化文件和文件夹压缩操作

Zip压缩是一种常见的文件压缩格式,它将多个文件和文件夹打包成一个以.zip为后缀的压缩包。压缩后的文件可以减小存储空间和网络传输的大小,并方便地进行传输和共享。Java的Zip压缩库提供了一组API,用于创建、读取和解压缩Zip文件。通过本文,我们学习了如何使用Java的Zip压缩库来压缩和解压缩文件。我们学习了如何创建压缩文件压缩多个文件、压缩文件夹以及解压缩文件。Zip压缩Java开发中常用的文件操作之一,能够简化文件和文件夹压缩和解压缩操作。

繁依Fanyi的博客 1万+

莱迪思最新Lattice MachXO2 系列CPLD 官方技术文档资料合集.zip

莱迪思最新Lattice MachXO2 系列CPLD 官方技术文档资料合集fpga-ds-02056-3-9-machxo2-family-data-sheet.pdffpga-ds-02062-1-3-machxo2-family-data-sheet-supplement-for-lvcmos10-inputs-and-bidis.pdffpga-sc-02009-1-44-machxo2-1200-pinout.csvfpga-sc-02021-1-46-machxo2-4000-pinout.csvfpga-tn-02024-4-8-pcb-layout-rec-bga-packages.pdffpga-tn-02041-4-4-solder-reflow-guide-for-surface-mount-devices.pdffpga-tn-02044-4-2-thermal-management.pdffpga-tn-02084-2-3-using-traceid.pdffpga-tn-02090-1-2-mipi-d-phy-bandwidth-matr

Java之文件(文件夹压缩)

文件夹压缩,解决创建压缩文件重名问题,解决空白文件夹问题

weixin_59850019的博客 1036

java将指定文件夹按照文件目录压缩为zip压缩

是我自已业务的逻辑,,主要逻辑是根据传入文件不同 判断将压缩包发送给浏览器 还是将xls模板发送给浏览器。将指定的压缩包作为流发送给浏览器。

weixin_51478028的博客 3254

JAVA实现压缩解压文件

JAVA实现压缩解压文件

xingchenyv的博客 1万+

JAVA实现压缩文件文件夹

想到压缩一般大家会先想到rar,由于rar的压缩度高,但人家可是收费的。JAVA中如果要实现压缩一般都是用zip压缩。首先,讲下压缩文件import java.io.*;import java.util.zip.*;//ZipOutputStream这个流在这里import java.util.*;public class ZipOutputStreamTest{

TERRY的技术日志 4479

java 压缩文件夹_java 实现压缩文件(单文件 文件夹

接着上篇了解一下java压缩实现过程,下面的是支持 单文件 文件夹 压缩实现,使用递归。效果:代码:package com.gx.compress;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;i...

weixin_39645165的博客 214

如何用java给一个文件夹打成压缩包?

使用 java.util.zip 包中的类来将文件夹打成压缩

业务能力是技术能力的基础! 3087

java压缩文件夹下所有文件

public class FileUtils{ /** * 压缩文件 * * @param sourceFilePath 源文件路径 * @param zipFilePath 压缩后文件存储路径 * @param zipFilename 压缩文件名 */ public static void compres...

木子人弋山 1万+

Java实现压缩文件文件夹

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

2401_84815479的博客 904

Java Zip压缩:简化文件和文件夹压缩操作

Zip压缩是一种常见的文件压缩格式,它将多个文件和文件夹打包成一个以.zip为后缀的压缩包。压缩后的文件可以减小存储空间和网络传输的大小,并方便地进行传输和共享。Java的Zip压缩库提供了一组API,用于创建、读取和解压缩Zip文件。通过本文,我们学习了如何使用Java的Zip压缩库来压缩和解压缩文件。我们学习了如何创建压缩文件压缩多个文件、压缩文件夹以及解压缩文件。Zip压缩Java开发中常用的文件操作之一,能够简化文件和文件夹压缩和解压缩操作。

a1k2l45k的博客 4383

JAVA:代码实现zip压缩

主要介绍了Java实现把文件及文件夹压缩成zip。文中通过示例代码介绍的非常详细,对大家的学习者工作具有一定的参考价值,需要的朋友可以参考下。

熬过万丈孤独,藏下星辰大海 1万+

Java打成压缩包的方法汇总

Java打成压缩包的方法汇总

技术分享 7834
上一篇: java与线程绑定_memset与绑定到每个物理核心的线程并行
下一篇: in会让mysql索引失效吗_mysql的in会让索引失效吗?
vvv666s
博客等级 码龄8年 22粉丝 81原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值