【小巧玲珑】文件太大,怎么办?分卷压缩技术了解下,这才是压缩技术

【小巧玲珑】文件太大,怎么办?分卷压缩技术了解下,这才是压缩技术

  • 1、痛点
  • 2、场景重现
    • 2.1 jar包
    • 2.1 ZIP压缩
  • 3、压缩步骤
    • 3.1 新建压缩文件
    • 3.2 压缩结果
  • 4、解压步骤
  • 5、效果
  • 6、jar压缩算法

1、痛点

通过浏览器客户端访问云服务,文件大小在上传时会有限制,一般地,100M左右。
而现在的工程软件压缩后动辄200多M,这种情形就需要对文件进行压缩处理。

2、场景重现

2.1 jar包

以实际工程为例,jar包大小为146M,解压jar包后为413M。
在这里插入图片描述

2.1 ZIP压缩

使用ZIP压缩算法后,包大小为130M,比jar包少了16M左右,但是还是满足不了上传要求,因此就需要通过分卷压缩方法完成。
在这里插入图片描述

3、压缩步骤

使用Bandizip压缩软件进行分卷压缩。

3.1 新建压缩文件

如下图所示,将jar包添加到将要压缩的文件路径中。

设置40M进行分卷压缩。
在这里插入图片描述

3.2 压缩结果

可以看到生成了4个文件。
book.z01-z03是每一个卷,book.zip是其属性文件。
在这里插入图片描述

4、解压步骤

右键点击book.zip文件,选择解压到 book文件夹下。
在这里插入图片描述

5、效果

如下图所示,可以看到被还原。
在这里插入图片描述

6、jar压缩算法

JAR 压缩算法是一种用于压缩 Java 档案文件(.jar)的算法,它是由 Sun Microsystems 开发的。JAR 压缩算法是基于 LZW(Lempel-Ziv-Welch)算法的变体。LZW 算法是一种无损压缩算法,广泛用于压缩文件和图像。
JAR 压缩算法的步骤如下:

  1. 创建一个 JAR 文件,将需要压缩的文件或目录添加到其中。
  2. 使用 JAR 压缩工具(如 jar 或 jar cvf)对 JAR 文件进行压缩。
  3. 压缩过程中,JAR 压缩算法会对文件进行预处理,识别重复的数据块并记录它们。
  4. 在压缩过程中,JAR 压缩算法会使用 LZW 算法对数据进行压缩。LZW 算法通过匹配重复的数据块并替换它们,用一个较短的表示来压缩数据。
  5. 压缩后的 JAR 文件包含一个 MANIFEST 文件,其中包含压缩文件的元数据(如文件名,大小,创建日期等)。
  6. 可以使用 JAR 扩展程序(如 jar xf)来解压缩 JAR 文件。
    总的来说,JAR 压缩算法是一种高效的无损压缩算法,适用于压缩 Java 档案文件。它通过使用 LZW 算法来识别和压缩重复数据块,从而减小文件大小。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/133872.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机毕业设计选什么题目好?springboot 健身房管理系统

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…

某医疗机构:建立S-SDLC安全开发流程,保障医疗前沿科技应用高质量发展

某医疗机构是头部资本集团旗下专注大健康领域战略性投资与运营的实业公司,市场规模超300亿。该医疗机构已完成数字赋能,形成了标准化、专业化、数字化的疾病和健康管理体系,将进一步规划战略方向,为人工智能纳米技术、高温超导、生…

shiro反序列化和log4j

文章目录 安装环境shiro漏洞验证log4j 安装环境 进入vulhb目录下的weblogic,复现CVE-2018-2894漏洞: cd /vulhub/shiro/CVE-2010-3863查看docker-compose的配置文件: cat docker-compose.yml如图,里面有一个镜像文件的信息和服…

springboot vue 部署至Rocky(Centos)并自启,本文部署是若依应用

概述 1、安装nohup(后台进程运行java) 2、安装中文字体(防止中文乱码) 3、安装chrony(保证分布式部署时间的一致性) 5、安装mysql数据,迁移目录,并授权自启动; 6、安…

【LeetCode高频SQL50题-基础版】打卡第5天:第26~30题

文章目录 【LeetCode高频SQL50题-基础版】打卡第5天:第26~30题⛅前言超过5名学生的课🔒题目🔑题解 求关注者的数量🔒题目🔑题解 只出现一次的最大数字🔒题目🔑题解 买下所有产品的客户&#x1f…

基于SpringBoot的网上订餐系统

基于SpringBoot的网上订餐系统的设计与实现 开发语言:Java数据库:MySQL技术:SpringBootMyBatisVue工具:IDEA/Ecilpse、Navicat、Maven 【主要功能】 角色:用户、管理员管理员:登录、个人中心、会员管理、…

【AI】如何让两个图案重叠的部分变成透明

目的:两个图案重叠的部分,变成透明。 工具:Adobe Illustrator 方法: 第一种:选中两个图案 → 右键 → 建立复合路径 → 得到目标图案第二种:选中两个图案 → 右键 → 建立编组 → 选择顶部导航栏的【效果…

1.1 向量与线性组合

一、向量的基础知识 两个独立的数字 v 1 v_1 v1​ 和 v 2 v_2 v2​,将它们配对可以产生一个二维向量 v \boldsymbol{v} v: 列向量 v v [ v 1 v 2 ] v 1 v 的第一个分量 v 2 v 的第二个分量 \textbf{列向量}\,\boldsymbol v\kern 10pt\boldsymbol …

并发编程——1.java内存图及相关内容

这篇文章,我们来讲一下java的内存图及并发编程的预备内容。 首先,我们来看一下下面的这两段代码: 下面,我们给出上面这两段代码在运行时的内存结构图,如下图所示: 下面,我们来具体的讲解一下。…

webmin远程命令执行漏洞

文章目录 漏洞编号:漏洞描述:影响版本:利用方法(利用案例):安装环境漏洞复现 附带文件:加固建议:参考信息:漏洞分类: Webmin 远程命令执行漏洞(CV…

C++算法:城市天际线问题

题目 城市的 天际线 是从远处观看该城市中所有建筑物形成的轮廓的外部轮廓。给你所有建筑物的位置和高度,请返回 由这些建筑物形成的 天际线 。 每个建筑物的几何信息由数组 buildings 表示,其中三元组 buildings[i] [lefti, righti, heighti] 表示&am…

【算法-动态规划】最长公共子串

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…