返回顶部
首页 > 资讯 > 精选 >Java和.NET的GZIP压缩功能实例分析
  • 511
分享到

Java和.NET的GZIP压缩功能实例分析

2023-06-17 06:06:31 511人浏览 泡泡鱼
摘要

本篇内容介绍了“Java和.net的GZIP压缩功能实例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!代码解析1)Java GZIPOu

本篇内容介绍了“Java和.net的GZIP压缩功能实例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

代码解析

1)Java GZIPOutputStream类

该GZIPOutputStream类为压缩数据在GZIP格式文件中创建了输入流。这个类有以下几种的构造函数:

创建具有默认大小的输出流:

GZIPOutputStream(OutputStream out);

创建新的具有默认缓冲区大小和指定刷新模式的输出流:

GZIPOutputStream(OutputStream out,boolean syncFlush);

创建新的具有指定缓冲区大小的输出流:

GZIPOutputStream(OutputStream out,int size);

创建新的具有指定的缓冲区大小和刷新模式的输出流:

GZIPOutputStream(OutputStream out,int size,boolean syncFlush);

我们需要编写以下代码来压缩文件:

import java.io.*; import java.util.zip.*;  class abc{  public static void main(String args[])   {    String srcfile="D:/abhi.txt";          String dstfile="D:/abhi1.txt";    try{     FileInputStream fin= new FileInputStream(srcfile);        GZIPOutputStream fout=new GZIPOutputStream(new FileOutputStream(dstfile));               byte[] buffer = new byte[1024];              int bytesRead;               while ((bytesRead = fin.read(buffer)) != -1) //srcfile.getBytes()              {                fout.write(buffer, 0, bytesRead);              }                 fin.close();                   fout.close();                       File file =new File(srcfile);                    System.out.println("Before Compression file Size :                     " + file.length()+" Bytes");                      File file1 =new File(dstfile);                      System.out.println("After Compression file Size :                       " + file1.length()+" Bytes");    }catch(Exception ex)     {   System.out.println(ex);     }    }  }

运行代码。输出如下,因为我提供的源文件只有481个字节大小,然后经过压缩后输出的文件大小为207个字节。

Java和.NET的GZIP压缩功能实例分析

现在,我们用相同的输入文件来看看GZIP压缩后的效果。

2).NET GZipStream类

GZipStream压缩string或文件。它可以让你有效地保存数据,如压缩日志文件,消息文件。这个类存在于System.IO.Compression的命名空间。它创建GZIP文件,并将其写入磁盘。

GZipStream类提供以下构造函数:

通过使用指定字节流和压缩等级初始化GZipStream类的新实例:

GZipStream(Stream, CompressionLevel)

通过使用指定流和压缩模式初始化GZipStream类的新实例:

GZipStream(Stream, CompressionMode)

通过使用指定流和压缩等级初始化GZipStream类的新实例,并可选是否打开流:

GZipStream(Stream, CompressionLevel, Boolean)

通过使用指定流和压缩模式初始化GZipStream类的新实例,并可选是否打开流:

GZipStream(Stream, CompressionMode, Boolean)

我们需要编写以下代码来压缩文件:

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.IO.Compression;  namespace Compress {     class Program     {         static void Main(string[] args)         {             string srcfile = "D:\\abhi.txt";             string dstfile = "D:\\abhi2.txt";              byte[] b;              using (FileStream f = new FileStream(srcfile, FileMode.Open))             {                 b = new byte[f.Length];                 f.Read(b, 0, (int)f.Length);             }              using (FileStream fs = new FileStream(dstfile, FileMode.Create))              using (GZipStream gzip = new GZipStream(fs, CompressionMode.Compress, false))             {                 gzip.Write(b, 0, b.Length);             }              FileInfo f2 = new FileInfo(srcfile);             System.Console.WriteLine("Size Of File Before Compression :"+f2.Length);              FileInfo f1 = new FileInfo(dstfile);             System.Console.WriteLine("Size Of File Before Compression :" + f1.Length);         } }

运行代码。输出如下,由于我提供的是481字节大小的源文件,然后压缩后的输出文件大小为353个字节。

Java和.NET的GZIP压缩功能实例分析

大家可以看到,源文件为481字节,压缩文件大小为:

  1. .NET的GzipStream:353字节

  2. Java的GZIPOutputStream :207字节

压缩后的尺寸大小差距很明显。因此,我们可以得出结论,Java的GZIP压缩比.NET更好。

“Java和.NET的GZIP压缩功能实例分析”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: Java和.NET的GZIP压缩功能实例分析

本文链接: https://lsjlt.com/news/287487.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Java和.NET的GZIP压缩功能实例分析
    本篇内容介绍了“Java和.NET的GZIP压缩功能实例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!代码解析1)Java GZIPOu...
    99+
    2023-06-17
  • PHP压缩与解压缩类的示例分析
    这篇文章给大家分享的是有关PHP压缩与解压缩类的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。PHP压缩与解压缩类PclZip是一个很强大的压缩与解压缩zip文件的PHP...
    99+
    2024-04-02
  • Linux归档和压缩的示例分析
    这篇文章主要介绍了Linux归档和压缩的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在 Linux 中,学会对文件或目录进行打包(归档)和压缩,是每个初学者的基本技...
    99+
    2023-06-27
  • CSS压缩与CSS代码压缩还原的示例分析
    这篇文章将为大家详细讲解有关CSS压缩与CSS代码压缩还原的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 紧缩后的CSS代码如何快捷排版好以便于再编纂在批改。...
    99+
    2024-04-02
  • Redis压缩列表的示例分析
    这篇文章主要介绍了Redis压缩列表的示例分析,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。此篇文章是主要介绍Redis在数据存储方面的其中一种...
    99+
    2024-04-02
  • Android中文件的压缩和解压缩实例代码
    使用场景 当我们在应用的Assets目录中需要加入文件时,可以直接将源文件放入,但这样会造成打包后的apk整体过大,此时就需要将放入的文件进行压缩.又如当我们需要从服务器中下载...
    99+
    2022-06-06
    压缩 解压 Android
  • electron-vue图片压缩的示例分析
    这篇文章给大家分享的是有关electron-vue图片压缩的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 最近用electron-vue(E...
    99+
    2024-04-02
  • C#实现批量压缩和解压缩的示例代码
    目录实践过程效果代码实践过程 效果 代码 public partial class Form1 : Form { public Form1() { ...
    99+
    2022-12-26
    C#压缩 解压缩 C#压缩 C# 解压缩
  • Android GZip的使用-开发中网络请求的压缩实例详解
    Android  GZip: gzip是GNUzip的缩写,它是一个GNU自由软件的文件压缩程序。 HTTP协议上的GZIP编码是一种用来改进WEB应用程序性能的技...
    99+
    2022-06-06
    压缩 gzip Android
  • Linux中bz2压缩格式的示例分析
    这篇文章主要介绍Linux中bz2压缩格式的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Linux中的bz2压缩格式的实例详解一 语法bzip2 源文件压缩为bz2格式,不保存源文件bzip2&n...
    99+
    2023-06-09
  • Node.js功能实例分析
    今天小编给大家分享一下Node.js功能实例分析的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。我们来看下面的例子,以下程序实...
    99+
    2023-06-17
  • C++项目基于HuffmanTree实现文件的压缩与解压缩功能
    目录前言1.文件压缩的概念2.为什么需要压缩3.压缩的分类4.压缩的方法二、HuffmanTree文件压缩与解压缩1.HuffmanTree的概念2.HuffmanTree的构建3....
    99+
    2024-04-02
  • element前端实现压缩图片的功能
    目录前言实现效果实现步骤前言 随着现在手机像素,拍照功能越来越好,随之而来的是本地图片越来越大,那么如何更好的将本地图片上传到后端接口呢?这是后台管理系统常见的场景和头疼的问题,这里...
    99+
    2023-03-01
    element 压缩图片 vue 压缩图片
  • MySql 5.7.17压缩包免安装的示例分析
    这篇文章给大家分享的是有关MySql 5.7.17压缩包免安装的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。MySQL数据库管理软件有两种版本,一种是企业版,一种是社区...
    99+
    2024-04-02
  • 图片上传及canvas压缩的示例分析
    小编给大家分享一下图片上传及canvas压缩的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!我们通常在做图片上传的时候都会遇上这样的情况,一是后端接口限制...
    99+
    2023-06-09
  • java调用FFmpeg实现视屏压缩功能的详细步骤
    目录前言实现步骤一、在windows系统中下载对应的FFmpeg二、FFmpeg压缩视屏命令三、java实现FFmpeg命令调用 注意事项  1.文件名...
    99+
    2024-04-02
  • java实现上传图片并压缩图片大小功能
    Thumbnailator 是一个优秀的图片处理的Google开源Java类库。处理效果远比Java API的好。从API提供现有的图像文件和图像对象的类中简化了处理过程,两三行代码就能够从现有图片生成处理后的图片,且允许微调图片的生成方式...
    99+
    2023-05-31
    java 上传图片 压缩图片
  • Webpack构建代码质量压缩的示例分析
    小编给大家分享一下Webpack构建代码质量压缩的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Webpack构建速度优化基本优化完毕,接下来考虑的就是:线上代码质量的优化,即如何...
    99+
    2024-04-02
  • NumPy中的线性关系与数据修剪压缩实例分析
    这篇文章主要介绍“NumPy中的线性关系与数据修剪压缩实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“NumPy中的线性关系与数据修剪压缩实例分析”文章能帮助大家解决问题。摘要总结股票均线计算...
    99+
    2023-06-30
  • Java 实现LZ78压缩算法的示例代码
    LZ78 压缩算法的 Java 实现 1、压缩算法的实现 通过多路搜索树提高检索速度 package com.wretchant.lz78; import java.util....
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作