JDK 自带压缩解压流

JDK的解压安装 - CentOS JDK的解压安装 - CentOS 一、Jdk介绍 JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK)。 JAVA SE:standard edition,标准版。包含了基础和核心的库,可用于控制台及桌面应用软件的开发。 JAVA EE:enterprise edition,企业版。主要用于企业级分布式网络应用的开发。 JAVA ME:micro edition,微型版。主要用于嵌入式设备和移动设备上的应用开发。 1.Java和jdk的关系 Jav 阅读详情

代码如下

复制代码

package com.test.java.zip;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
import java.util.zip.ZipOutputStream;

/**
 * @author jrwangxin1 字节数组压缩解压工具
 */
public class ZipUtil {
    /** 压缩 */
    public static byte[] zip(byte[] source) throws IOException {
        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
        ZipOutputStream zipOutputStream = new ZipOutputStream(byteArrayOutputStream);
        zipOutputStream.putNextEntry(new ZipEntry("0"));
        BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(zipOutputStream);
        bufferedOutputStream.write(source);
        bufferedOutputStream.close();
        return byteArrayOutputStream.toByteArray();
    }

    /** 解压 */
    public static byte[] unzip(byte[] source) throws IOException {
        ZipInputStream zipInputStream = new ZipInputStream(new ByteArrayInputStream(source));
        while (zipInputStream.getNextEntry() != null) {
            ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
            
            byte[] buffer = new byte[4096];
            int i=0;
            while ((i = zipInputStream.read(buffer)) != -1) {
                byteArrayOutputStream.write(buffer,0,i);
            }
            return byteArrayOutputStream.toByteArray();
        }
        return null;
    }

    public static void main(String[] args) throws IOException {
        // 读文件
        String file = "E:/pic.jpg";
        String outFile = "E:/picunzip.jpg";
        BufferedInputStream bufferedInputStream = new BufferedInputStream(new FileInputStream(file));
        byte[] bytes1 = new byte[bufferedInputStream.available()];
        bufferedInputStream.read(bytes1);
        bufferedInputStream.close();
        System.out.println("压缩前大小: " + bytes1.length);
        // 压缩
        byte[] bytes2 = ZipUtil.zip(bytes1);
        System.out.println("压缩后大小: " + bytes2.length);
        // 解压
        byte[] bytes3 = ZipUtil.unzip(bytes2);
        System.out.println("unzip解压后大小: " + bytes3.length);

        // 输出到文件以便验证
        BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(new FileOutputStream(outFile));
        bufferedOutputStream.write(bytes3);
        bufferedOutputStream.close();
    }
}

复制代码

 

jdk1.8压缩版解压即用 jdk1.8压缩版,解压即用,无需安装,方便小巧快捷,绿色安全 立即下载

相关推荐

JDK1.8(解压直接使用).zip

JDK1.8(解压直接使用).zip,

Java压缩和解压缩(一)JDK内置zip操作

操作压缩包文件也是经常会被使用到的技术点,比如在导出多个文件至浏览器下载时需要将多个文件添加至压缩文件,一方面可以一次性下载多个文件,另一方面也可以减小下载文件的大小。然而JDK内置的操作压缩文件只提供有zip格式(rar格式为受版权保护,7z格式应该是在JDK早期版本时还未出世),比较鸡肋,回首当年工作之初也算有体验到使用Java解压文件,后面的一些工作中多多少少的也都有涉及,但是不够全面,也不够深入,更不够专业,去年下半年有批量解压缩文件的需求,借着这个时机就专业了一把,分享给大家。

haiyangyiba的专栏 1996

jdk1.8.0压缩包

下载-双击安装 (1)新建->变量名"JAVA_HOME",变量值"C:\Java\jdk1.8.0_05"(即JDK的安装路径) (2)编辑->变量名"Path",在原变量值的最后面加上";%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin" (3)新建->变量名“CLASSPATH”,变量值".;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar"

JDK实现压缩、解压

JDK实现压缩、解压

Benjamin 772

jdk(1.8)压缩版

jdk(1.8)压缩版,免安装。直接解压即可使用(需配置环境变量)!

java自带压缩方式的性能比较

NULL 博文链接:https://mingren135.iteye.com/blog/2410538

使用JDK工具类GZIP对文件/文本压缩、解压

GZIP 是JDK类库下java.util.zip的工具类,GZIPOutputStream 和 GZIPInputStream用于创建和读取GZIP格式的压缩文件。简单讲就是将数据压缩成我们常见的 .zip文件。这里我还提供了一种压缩文本的工具类(代码实现-2),即文本压缩后还是文本,只是长度压缩了,是基于Base64进行压缩的。

Jerry_小蓝的博客 2505

【深度排查】VScode 远程 SSH 连接失败:从网络握手到服务部署的全链路诊断指南

本文详细解析了VScode远程SSH连接失败的常见原因及解决方案,从基础网络排查到SSH服务配置,再到VScode特有的问题处理。特别针对Ubuntu和TrueNAS系统提供了具体配置建议,帮助开发者快速解决'Could not establish connection'等连接问题,提升远程开发效率。

weixin_30301449的博客 447

java jdk1.6实现zip解压

第一部分,入参两个,一个是为压缩包或文件,另一个是我自己的入参,可删除。zip的解压中,调用了多个方法,只有一个是解压有关的,我放在下面。上面这个方法里,有个文件名的乱码处理,方法是下面这个。暂时只有zip的解压,有机会再找rar的。然后是zip版本的解压。......

qq_42719682的博客 1116

保姆级教程:从OrthoFinder到CAFE5,手把手搞定基因家族收缩扩张分析(附完整代码与避坑指南)

本文提供从OrthoFinder到CAFE5的基因家族收缩扩张分析全流程教程,涵盖数据预处理、系统发育树准备、CAFE5运行与参数优化等关键步骤。通过详细代码示例和避坑指南,帮助研究者高效完成基因家族进化分析,特别适合生物信息学初学者。

dianshu1593的博客 393

Python读取Matlab v7.3数据

文章目录Matlab保存数据Python读取 v7.3 Mat Matlab保存数据 在matlab设置中,常规->MAT文件,选择MATLAB版本7.3或更高版本保存数据。 注意保存数据的文件名为 corre.mat,保存的数据数组为data; 后面python的读取中会用到这两个参数 Python读取 v7.3 Mat 先安装hdf5storage库,再使用以下代码,就可以读取到mat中的数据,注意 import hdf5storage import numpy as np dataDi

weixin_43121914的博客 1082

JDK(GZIP实现数据压缩)

GZIP,一个压缩比搞的慢速算法,压缩后的数据适合长期使用,JDK中的java.util.zip.GZIPInputStream/GZIPOutputStream是这个算法的实现

解决bug的路上 1826

Codesys电子凸轮实战:从机械替代到虚轴设计的5个关键步骤

本文详细介绍了Codesys电子凸轮技术在运动控制领域的实战应用,从机械替代到虚轴设计的5个关键步骤。通过电子凸轮技术,操作员可以快速调整切割模式,显著提升产线效率。文章还探讨了虚轴架构、CAM表设计、动态耦合技巧及调试避坑指南,为工业自动化领域提供了实用的解决方案。

tech5的博客 768

java byte 解压_【Java基础】JDK 自带压缩解压流

packagecom.test.java.zip;importjava.io.BufferedInputStream;importjava.io.BufferedOutputStream;importjava.io.ByteArrayInputStream;importjava.io.ByteArrayOutputStream;importjava.io.FileInputStream;impor...

weixin_35626356的博客 274

Flink实战项目——城市交通实时监控平台

本项目是与公安交通管理综合应用平台、机动车缉查布控系统等对接的,并且基于交通部门现有的数据平台上,进行的数据实时分析项目。

yangwei2048的博客 839

北京大学MuMo多模态肿瘤分类模型复现与迁移学习

本项目复现了北京大学MuMo多模态肿瘤分类模型,并针对特定医学影像数据集进行迁移学习。MuMo模型通过整合CT、MRI、PET等多模态医学影像数据,显著提升了肿瘤分类准确性。项目内容包括环境配置(Python 3.8+、PyTorch 1.9+)、数据预处理(DICOM/NIfTI格式处理、强度归一化)、多模态数据集类实现,以及训练验证测试集划分。关键特点是采用MONAI医学影像处理库,实现三维医学影像的标准化预处理流程,并支持多种模态数据的并行加载与联合训练,为后续模型复现和迁移学习奠定基础。

max500600的博客 1241

基于JDK API实现文件的压缩与解压

在实际开发过程中,会经常遇到下载附件或者导出报表的情况,有时候文件会比较多,用户更希望多个文件可以一起打包进行下载。这时就需要实现两部分功能:一部分是多个文件的打包处理,一部分是压缩文件的下载功能。 对于压缩文件的下载,可查看我的另一篇博文(SpringMVC下打包文件的下载),本文主要提供多个文件的压缩与解压的例子。样例完全基于JDK自带的IO流处理类,主要相关类为ZipInputStream

虫草 2125

Qt C++ 实现一个完整的扫雷

mineCountLabel = new QLabel(QString("地雷: %1").arg(remainingMines, 3, 10, QChar('0')), this);mineCountLabel->setText(QString("地雷: %1").arg(remainingMines, 3, 10, QChar('0')));timeLabel->setText(QString("时间: %1").arg(gameTime, 3, 10, QChar('0')));" : "游戏失败!

寒寒豆豆软件公司的博客 107

Ubuntu安装JDK1.8(手动解压JDK压缩包)

1. 官网下载JDK https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 2. 解压缩(下载的版本jdk-8u211-linux-x64.tar.gz) 创建目录 sudo mkdir /usr/lib/jvm 解压缩到此目录 sudo tar -zxvf jdk-8u2...

文艺小青年儿 4320

【ROS】ROS2导航Nav2:简介、安装、测试效果、错误处理

在ROS2中自动导航使用Nav2来实现。Nav2 使用几个独立的模块化服务,通过 ROS 2接口(例如动作服务器或服务)与行为树 (BT) 通信。Nav2 输入包括:TF转换、一个地图源、一个行为树 (BT) XML 文件和相关的传感器数据源;Nav2 输出速度命令;Nav2 支持多种机器人,比如:四足机器人、履带机器人、轮式机器人等。

郭老二 5089

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Windows 下 JDK8 解压版 安装配置

如果想进行 Java 编程(开发人员),需要安装 JDK,JDK 包里也内置有 JRE,既能开发 Java 也能运行 Java 程序。(在JDK1.5之后的版本,配置Java环境变量的时候我们不再需要配置classpath,只需要配置Java_Home以及path即可!描述:适用于 32 位操作系统的 JDK 压缩文件(不需要安装,解压即可使用)exe 文件:是可执行的安装程序,适合自动安装,安装时会帮你配置环境变量等。zip 文件:是压缩包文件,适合手动解压后使用,无需安装,直接运行即可。

csdn_aspnet的专栏,请点击博客主页右上角三个点中的私信联系 1万+

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

【免费下载】 JDK17压缩包下载解压即用(无需安装)

JDK17压缩包下载解压即用(无需安装) 【下载地址】JDK17压缩包下载解压即用无需安装 本仓库提供了一个方便的资源文件下载,即JDK17的压缩包,适用于64位Windows系统。下载后解压即可使用,无需进行繁琐的安装步骤。 项...

gitblog_09763的博客 5588

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Linux解压安装JDK

rw-r–r–. 1 root root jdk-10.0.1_linux-x64_bin.tar.gz (jdk安装包)drwxr-xr-x. 8 root root jdk-10.0.1 (解压就的版本)如:tar -zxvf jdk-10.0.1_linux-x64_bin.tar.gz。首先到jdk官网下载自己需要的jdk版本,下载完成之后将需要安装的jdk放到指定的目录。7、进入放置jdk的took文件,进入jdk,配置临时环境变量。2、对jdk文件进行解压。

qq_40649373的博客 1682

java linux 解压,linux安装jdk及解压命令

注意事项:虚拟机安装的系统,不能从桌面直接拖拽传输文件,否则解压出错查看系统自带安装的javarpm -qa | grep java删除非.noarch文件rpm -e --nodeps 文件名1.创建一个目录(mkdir java)并在其内解压jdk-8u181-linux-x64.tar.gz2.配置环境 vi /etc/profile 并在最后添加export JAVA_HOME=/usr...

weixin_34321959的博客 2036
上一篇: WAS 节点不同步解决办法一
下一篇: JDK工具(查看JVM参数、内存使用情况及分析等)
hxpjava1
博客等级 码龄19年 1365粉丝 511原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值