【问题标题】:Java - Separate two gzip StringsJava - 分隔两个 gzip 字符串
【发布时间】:2012-01-16 06:32:21
【问题描述】:

我有两个字符串。例如“苹果”和“牛顿”。我分别使用 gzip 压缩它们,然后加入生成的 gzip 字符串并存储在一个文件中。然后我检索文件中的内容。当我将总字符串解压缩在一起时,我得到了确切的结果。但我想找到每个压缩字符串的 EOF。这可能吗?

这是必需的,因为我存储了大量垃圾数据。我使用缓冲区大小检索。当我直接尝试解压缩时,我得到 EOFException。如果我能够获得 EOF,我可以截断不需要的部分,然后解压缩所需的内容

【问题讨论】:

    标签: java compression gzip


    【解决方案1】:

    在连接两个字符串之前使用任何分隔符,例如空格或逗号,以便您识别每个字符串的结尾。

    当你将整个字符串解压在一起时,你会得到这样的结果“apple,newton”,

    现在使用split() method of String 类来获取各个字符串。

    String[] strings = totalString.split("," , 0);
    

    【讨论】:

    • 我已经尝试过这个及其工作。但它就像还有其他方法可以做到这一点。
    【解决方案2】:

    您可以将“apple”、“newton”存储为两个单独的 String 对象,并使用另一个对象将这两个对象分开。当你读取对象时,你可以比较什么类型的对象。这样您就可以轻松找到分隔符对象。

    【讨论】:

      【解决方案3】:

      inflater 有一个 isFinished() 方法,它在边界处停止。我基本上写了一个类来扩展 GzipinputStream 并取回充气对象。每当有一个部分流完成时,isFinished 就返回 true。你可以继续阅读或停在那里

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-01-06
        • 2022-12-01
        • 2017-03-17
        • 1970-01-01
        • 1970-01-01
        • 2019-04-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多