标签: gzipoutputstream

我应该使用GzipOutputStream和BufferedOutputStream的顺序

任何人都可以推荐我是否应该这样做:

os = new GzipOutputStream(new BufferedOutputStream(...));
Run Code Online (Sandbox Code Playgroud)

要么

os = new BufferedOutputStream(new GzipOutputStream(...));
Run Code Online (Sandbox Code Playgroud)

哪个更有效率?我应该使用BufferedOutputStream吗?

java gzipoutputstream

28
推荐指数
4
解决办法
1万
查看次数

强制刷新java中的GZIPOutputStream

我们正在开发一个程序,我们需要刷新(强制压缩和发送数据)GZIPOutputStream.问题是,GZIPOutputStream的flush方法不能按预期工作(强制压缩和发送数据),而是Stream等待更多数据进行有效的数据压缩.

当您调用完成时,数据将被压缩并通过输出流发送,但GZIPOutputStream(不是基础流)将被关闭,因此我们无法写入更多数据,直到我们创建新的GZIPOutputStream,这会花费时间和性能.

希望任何人都可以提供帮助.

最好的祝福.

java gzip gzipoutputstream

18
推荐指数
2
解决办法
9385
查看次数

GZIPOutputStream和DeflaterOutputStream有什么区别?

GZIPOutputStream只是一个子类,DeflaterOutputStream但都可以实例化.我何时使用一个而不是另一个?压缩是一样的吗?

java gzipoutputstream

18
推荐指数
2
解决办法
7354
查看次数

字符串到GZIPOutputStream

我试过搜索,找不到任何东西.我正在尝试做的是我循环遍历一个列表,我正在从多个列表中的项目组合构造一个字符串.然后我想将这些字符串转储到gzip压缩文件.我得到它只是将它转储到一个简单的ascii文本文件,但我似乎无法让它与gzipoutputstream一起工作.基本上,

循环创建字符串转储字符串到gzipped文件endloop

如果可能的话,我想避免转储到纯文本文件然后gzipping它,因为这些文件将几乎100兆.

java compression gzip gzipoutputstream

12
推荐指数
1
解决办法
2万
查看次数

使用PHP解压缩Java

我有一种情况,servlet正在向PHP脚本提供压缩数据.我压缩Java端的数据没问题,但PHP似乎无法解压缩.

以下是Java Side的相关代码片段:

  OutputStream o=response.getOutputStream();

GZIPOutputStream gz=new GZIPOutputStream(o);
gz.write(GridCoder.encode(rs,id, perPage, page).getBytes());
gz.close();
o.close();
Run Code Online (Sandbox Code Playgroud)

PHP方面:

$xml= gzuncompress($xml);
Run Code Online (Sandbox Code Playgroud)

有人可以指出我正确的方向.

php java gzip gzipoutputstream

10
推荐指数
2
解决办法
4626
查看次数

GZip在android中

如何使用GZip压缩和解压缩android中的文件.请提供一些参考,以便对我有很大的帮助.

提前致谢

android gzip gzipoutputstream

9
推荐指数
2
解决办法
3万
查看次数

GZIP解压缩字符串和字节转换

我的代码有问题:

private static String compress(String str)
{
    String str1 = null;
    ByteArrayOutputStream bos = null;
    try
    {
        bos = new ByteArrayOutputStream();
        BufferedOutputStream dest = null;

        byte b[] = str.getBytes();
        GZIPOutputStream gz = new GZIPOutputStream(bos,b.length);
        gz.write(b,0,b.length);
        bos.close();
        gz.close();

    }
    catch(Exception e) {
        System.out.println(e);
        e.printStackTrace();
    }
    byte b1[] = bos.toByteArray();
    return new String(b1);
}

private static String deCompress(String str)
{
    String s1 = null;

    try
    {
        byte b[] = str.getBytes();
        InputStream bais = new ByteArrayInputStream(b);
        GZIPInputStream gs = new GZIPInputStream(bais);
        ByteArrayOutputStream baos …
Run Code Online (Sandbox Code Playgroud)

java gzip gzipoutputstream

5
推荐指数
1
解决办法
1万
查看次数

压缩Unicode字符

GZIPOutputStream在Java程序中使用它来压缩大字符串,最后将其存储在数据库中。

我看到在压缩英文文本时,我实现了1/4到1/10的压缩比(取决于字符串值)。例如,假设我的原始英文文本为100kb,那么平均压缩文本大约为30kb。

但是当我压缩unicode字符时,压缩的字符串实际上比原始字符串占用更多的字节。举例来说,我的原始unicode字符串为100kb,然后压缩版本为200kb。

Unicode字符串示例: "?????????????for.Hi???"

谁能建议我也如何实现unicode文本的压缩?为什么压缩版本实际上比原始版本大?

我在Java中的压缩代码:

            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            GZIPOutputStream zos = new GZIPOutputStream(baos);

            zos.write(text.getBytes("UTF-8"));
            zos.finish();
            zos.flush();

            byte[] udpBuffer = baos.toByteArray();
Run Code Online (Sandbox Code Playgroud)

java compression unicode gzip gzipoutputstream

5
推荐指数
1
解决办法
994
查看次数

为什么Java和Go的gzip会得到不同的结果?

首先,我的Java版本:

string str = "helloworld";
ByteArrayOutputStream localByteArrayOutputStream = new ByteArrayOutputStream(str.length());
GZIPOutputStream localGZIPOutputStream = new GZIPOutputStream(localByteArrayOutputStream);
localGZIPOutputStream.write(str.getBytes("UTF-8"));
localGZIPOutputStream.close();
localByteArrayOutputStream.close();
for(int i = 0;i < localByteArrayOutputStream.toByteArray().length;i ++){
    System.out.println(localByteArrayOutputStream.toByteArray()[i]);
}
Run Code Online (Sandbox Code Playgroud)

输出是:

31 -117 8 0 0 0 0 0 0 0 -53 72 -51 -55 -55 47 -49 47 -54 73 1 0 -83 32 -21 -7 10 0 0 0

那么Go版本:

var gzBf bytes.Buffer
gzSizeBf := bufio.NewWriterSize(&gzBf, len(str))
gz := gzip.NewWriter(gzSizeBf)
gz.Write([]byte(str))
gz.Flush()
gz.Close()
gzSizeBf.Flush()
GB := (&gzBf).Bytes()
for i := 0; …
Run Code Online (Sandbox Code Playgroud)

java go gzipoutputstream

4
推荐指数
2
解决办法
1548
查看次数

GZIPOutputStream在单独的线程中进行压缩

是否有一个GZIPOutputStream的实现,可以在一个单独的线程中进行繁重的工作(压缩+写入磁盘)?

我们不断编写大量的GZIP压缩数据.我正在寻找可替代GZIPOutputStream的替代品.

java compression multithreading gzipoutputstream

3
推荐指数
1
解决办法
1017
查看次数

标签 统计

gzipoutputstream ×10

java ×9

gzip ×6

compression ×3

android ×1

go ×1

multithreading ×1

php ×1

unicode ×1