首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Java3y

    Servlet第三篇【request和response介绍、response的常见应用】

    gzipOutputStream = new GZIPOutputStream(); //查看了下API,write()接收的是byte[]类型的。 GZIPOutputStream gzipOutputStream = new GZIPOutputStream(new ByteArrayOutputStream()); 而用GZIPOutputStream = new ByteArrayOutputStream(); GZIPOutputStream gzipOutputStream = new GZIPOutputStream(byteArrayOutputStream ); //GZIP对数据压缩,GZIP写入的数据是保存在byteArrayOutputStream上的 gzipOutputStream.write(ss.getBytes ()); //gzipOutputStream有缓冲,把缓冲清了,并顺便关闭流 gzipOutputStream.close(); 把压缩后的数据取出来,写给浏览器

    2.8K70发布于 2018-03-15
  • 来自专栏Java快速进阶通道

    不是吧,阿Sir啊,可不可以不用再写finally?

    image 再看看我上面给出示例中的 ByteArrayOutputStream 和 GZIPOutputStream 流,其实已经帮实现了 Closeable 接口,所以我们再使用的时候,我们借助 try-with-source 运行结果如下: 开始工作 自动释放 6、值得注意的地方 try ( GZIPOutputStream gzipOutputStream = new GZIPOutputStream(new FileOutputStream (createdFile)); OutputStreamWriter osw = new OutputStreamWriter(gzipOutputStream); BufferedWriter 单独声明每个流就可以了,如下所示: try ( OutputStream out = new FileOutputStream(createdFile); GZIPOutputStream gzipOutputStream = new GZIPOutputStream(out); OutputStreamWriter osw = new OutputStreamWriter(gzipOutputStream

    53620发布于 2020-07-28
  • 来自专栏第三方工具

    Gzip压缩文件和压缩字符串,web接口应用

    java.io.FileOutputStream; import java.io.IOException; import java.util.zip.GZIPInputStream; import java.util.zip.GZIPOutputStream gzos = new GZIPOutputStream(fos); byte[] buffer = new byte[1024]; int len; import java.nio.charset.StandardCharsets; import java.util.zip.GZIPInputStream; import java.util.zip.GZIPOutputStream gzip = new GZIPOutputStream(bos); gzip.write(input.getBytes()); gzip.flush(); out = new GZIPOutputStream(conn.getOutputStream()); byte[] reqContent = str.getBytes();

    69610编辑于 2024-11-21
  • 来自专栏第三方工具

    Illegal character ((CTRL-CHAR, code 31))问题排查 gzip接口返回 RestTemplate GET POST请求

    response.setCharacterEncoding(ENCODING_UTF8); response.setHeader("Content-Encoding", "gzip"); GZIPOutputStream mapper.setSerializationInclusion(Include.ALWAYS); jsonOut = mapper.writeValueAsString(outJB); out = new GZIPOutputStream java.net.HttpURLConnection; import java.net.URL; import java.util.zip.GZIPInputStream; import java.util.zip.GZIPOutputStream throws Exception { String resContent = null; HttpURLConnection conn = null; GZIPOutputStream method.equals(GET)) { out = new GZIPOutputStream(conn.getOutputStream());

    51610编辑于 2024-10-09
  • 来自专栏全栈程序员必看

    句号压缩过滤器

    ; //找一个内存缓冲字节流 ByteArrayOutputStream baos = new ByteArrayOutputStream(); //把数据压缩到缓冲字节流流中 GZIPOutputStream gout = new GZIPOutputStream(baos); //取出数据:压缩后的 byte b[] = data.getBytes();//原始字节 System.out.println 压缩代码写在此处 //找一个内存缓冲字节流 ByteArrayOutputStream baos = new ByteArrayOutputStream(); //把数据压缩到缓冲字节流流中 GZIPOutputStream gout = new GZIPOutputStream(baos); //取出数据:压缩后的 byte b[] = gresponse.getOldBytes();//原始字节 System.out.println

    30420编辑于 2022-07-06
  • 来自专栏Java学习网

    如何使用Java进行文件压缩和解压缩

    Java中提供了ZipOutputStream和GZIPOutputStream类来完成文件压缩的任务。 ZipOutputStream类可以用于创建ZIP格式的压缩文件。 GZIPOutputStream类可以用于创建GZIP格式的压缩文件。 下面是一段Java代码,展示如何使用GZIPOutputStream类来创建一个名为“compressed.gz”压缩文件: import java.io.*; import java.util.zip gzipOS = new GZIPOutputStream(fos); int length; while ((length = fis.read(buffer)) > 0) 然后,我们使用GZIPOutputStream创建一个相应的压缩输出流。在while循环中,我们将从输入文件input.txt读取数据,并将其写入压缩输出流compressed.gz中。

    1.5K20编辑于 2023-12-15
  • 来自专栏nginx

    关于请求头中设置 Accept-Encoding: gzip 的含义与处理

    null && acceptEncoding.contains("gzip")) { response.setHeader("Content-Encoding", "gzip"); GZIPOutputStream gzipOutputStream = new GZIPOutputStream(response.getOutputStream()); // 写入压缩后的数据... gzipOutputStream.close(); } else { // 普通未压缩响应 } 3.

    51710编辑于 2025-11-15
  • 来自专栏让技术和时代并行

    byte数组和String之间的相互转换代码

    public static byte[] converStringToByte(String str) { ByteArrayOutputStream byteOutput = null; GZIPOutputStream gzout = null; byte[] data = null; try { byteOutput = new ByteArrayOutputStream(); gzout = new GZIPOutputStream

    81720发布于 2019-04-16
  • 来自专栏Java3y

    Servlet第三篇【request和response简介、response的常见应用】

    gzipOutputStream = new GZIPOutputStream(); //查看了下API,write()接收的是byte[]类型的。 GZIPOutputStream gzipOutputStream = new GZIPOutputStream(new ByteArrayOutputStream()); 而用GZIPOutputStream = new ByteArrayOutputStream(); GZIPOutputStream gzipOutputStream = new GZIPOutputStream(byteArrayOutputStream ); //GZIP对数据压缩,GZIP写入的数据是保存在byteArrayOutputStream上的 gzipOutputStream.write(ss.getBytes ()); //gzipOutputStream有缓冲,把缓冲清了,并顺便关闭流 gzipOutputStream.close(); 把压缩后的数据取出来,写给浏览器

    1.8K110发布于 2018-04-02
  • 来自专栏Java极客技术

    try 语句如何更优雅的关闭资源?请看这里!

    out = new GZIPOutputStream(new FileOutputStream(new File("out.txt")))) { byte[] buffer = GZIPOutputStream实际上是FileOutputStream的装饰器。 我们再来看GZIPOutputStream类的close方法。 public void close() throws IOException { if (! FileOutputStream fout = new FileOutputStream(new File("out.txt")); GZIPOutputStream out = new GZIPOutputStream(fout)) { byte[] buffer = new byte[4096]; int read

    62050编辑于 2022-12-04
  • 来自专栏令仔很忙

    令仔代码收藏系列(一)----Java压缩与解压缩

    java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.util.zip.GZIPInputStream; import java.util.zip.GZIPOutputStream pureResult); ByteArrayOutputStream miwenOutput=new ByteArrayOutputStream(); GZIPOutputStream outStream = new GZIPOutputStream ( miwenOutput); byte[] buf = new byte

    76020发布于 2018-09-14
  • 来自专栏程序编程之旅

    JavaWeb-过滤器Filter学习(五)全站压缩

    数据压缩,我们需要用到二个Java类,也就是java.util.zip 中的 类 GZIPOutputStream 此类为使用 GZIP 文件格式写入压缩数据实现流过滤器。 我们利用GZIPOutputStream(OutputStream out) 使用默认缓冲区大小创建新的输出流。 再用write(byte[] b)将 b.length 个字节写入此输出流。 压缩输出--把源数据压缩输出到baout内存流中 ByteArrayOutputStream baout = new ByteArrayOutputStream(); GZIPOutputStream gout = new GZIPOutputStream(baout); gout.write(str.getBytes("utf-8")); gout.close(); gout = new GZIPOutputStream(baout2); gout.write(bs);// 把数据压缩到baout中 gout.close();

    63720发布于 2021-01-21
  • 来自专栏Java日常

    URLEncode和URLDecode的注意事项

    java.net.URLDecoder; import java.net.URLEncoder; import java.util.zip.GZIPInputStream; import java.util.zip.GZIPOutputStream ByteArrayOutputStream out = new ByteArrayOutputStream(); // 使用默认缓冲区大小创建新的输出流 GZIPOutputStream gzip = new GZIPOutputStream(out); // 将 b.length 个字节写入此输出流 gzip.write(str.getBytes())

    3.1K20发布于 2020-12-25
  • 压缩减少带宽

    启用压缩: 即使使用了高效的序列化库,也可以在序列化之后对整个字节数组应用压缩算法,如DeflaterOutputStream(基于ZLIB)或GZIPOutputStream,这样在网络上传输之前进一步减小数据量 // 使用GZIP压缩 ByteArrayOutputStream baos = new ByteArrayOutputStream(); GZIPOutputStream gzipOut = new GZIPOutputStream(baos); ObjectOutputStream out = new ObjectOutputStream(gzipOut); UserInfo userInfo

    27110编辑于 2025-08-29
  • 来自专栏Ray学习笔记

    Ajax 与 Gzip 交互

    java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.zip.GZIPInputStream; import java.util.zip.GZIPOutputStream ByteArrayOutputStream out = new ByteArrayOutputStream(); // 使用默认缓冲区大小创建新的输出流 GZIPOutputStream gzip = new GZIPOutputStream(out); // 将 b.length 个字节写入此输出流 gzip.write(str.getBytes("UTF

    1.9K10发布于 2020-08-03
  • 来自专栏nginx

    深入解析GZIP解压缩异常:从错误日志到解决方案

    使用标准的 GZIP 压缩方式,例如: // 客户端压缩示例(使用 Java GZIPOutputStream) public byte[] compressData(byte[] data) throws IOException { ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); try (GZIPOutputStream gzipOutputStream = new GZIPOutputStream(byteArrayOutputStream)) { gzipOutputStream.write(data

    30110编辑于 2025-11-15
  • 来自专栏bit哲学院

    JAVA中关闭OutputStream

    比如使用ZIP压缩发送和接收数据的例子:发送方:在Socket的OutputStream上封装GZIPOutputStream或DeflaterOutputStream1、发送数据2、发送数据结束标志( 此时需要关闭GZIPOutputStream或DeflaterOutputStream,否则不保证全部数据都被发送至对方)3、接收应答4、结束接收方:在Socket的InputStream上封装GZIPInputStream

    1.4K10发布于 2021-04-25
  • 来自专栏java一日一条

    深入理解 Java 中的 try-with-resource

    在上述代码中,我们从FileInputStream中读取字节,并且写入到GZIPOutputStream中。GZIPOutputStream实际上是FileOutputStream的装饰器。 我们再来看GZIPOutputStream类的close方法: ? 我们可以看到,out变量实际上代表的是被装饰的FileOutputStream类。 在调用out变量的close方法之前,GZIPOutputStream还做了finish操作,该操作还会继续往FileOutputStream中写压缩信息,此时如果出现异常,则会out.close()方法被略过

    1.5K20发布于 2018-09-18
  • 来自专栏繁依Fanyi 的专栏

    【Java 进阶篇】深入理解 Java Response:从基础到高级

    以下是一个示例: // 获取输出流 ServletOutputStream out = response.getOutputStream(); // 创建GZIPOutputStream以压缩数据 GZIPOutputStream gzipOut = new GZIPOutputStream(out); // 将数据写入GZIPOutputStream gzipOut.write("This is a compressed response .".getBytes("UTF-8")); // 关闭GZIPOutputStream gzipOut.close(); // 设置响应头部,表示响应已被压缩 response.setHeader

    1.3K70编辑于 2023-11-01
  • 来自专栏全栈程序员必看

    使用ICSharpCode.SharpZipLib.dll实现在线解压缩

    s.Close(); } else { // 压缩 Stream s = new GZipOutputStream (File.Create(args[0] + “.gz”)); //生成一个GZipOutputStream流,用来生成压缩文件。 //因为GZipOutputStream由Stream派生,所以它可以赋给Stream。

    1.6K20编辑于 2022-09-17
领券