- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我试过搜索但找不到任何东西。我想要做的是循环遍历一个列表,在该列表中我从多个列表中的项目组合构造一个字符串。然后我想将这些字符串转储到 gzip 文件中。我只是将它转储到一个普通的 ascii 文本文件中,但我似乎无法让它与 gzipoutputstream 一起工作。所以基本上,
循环 创建字符串 将字符串转储到压缩文件结束循环
如果可能的话,我想避免转储到纯文本文件然后对其进行 gzip 压缩,因为这些文件每个将近 100 兆。
最佳答案
是的,你可以做到这一点没有问题。您只需要使用编写器将基于字符的字符串转换为基于字节的 gzip 流。
BufferedWriter writer = null;
try {
GZIPOutputStream zip = new GZIPOutputStream(
new FileOutputStream(new File("tmp.zip")));
writer = new BufferedWriter(
new OutputStreamWriter(zip, "UTF-8"));
String[] data = new String[] { "this", "is", "some",
"data", "in", "a", "list" };
for (String line : data) {
writer.append(line);
writer.newLine();
}
} finally {
if (writer != null)
writer.close();
}
此外,请记住 gzip 只是压缩一个流,如果您想要嵌入文件,请参阅此帖子:gzip archive with multiple files inside
关于java - 字符串到 GZIPOutputStream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10887828/
是否有 GZIPOutputStream 的实现可以在单独的线程中完成繁重的工作(压缩+写入磁盘)? 我们正在不断写入大量 GZIP 压缩数据。我正在寻找一个可以代替 GZIPOutputStream
我对 GZIPOutputStream 有一个非常奇怪的问题压缩 double 组时。在第 57 个元素处,当我重新加载数据时出现了一个小差异: 57 > 3.003727492141554E7 3.
我正在 AppEngine 上编写一个 java servlet。此 servlet 生成 png 图像。我想“压缩”响应。我这样做: resp.setHeader("Content-Encoding
我试过搜索但找不到任何东西。我想要做的是循环遍历一个列表,在该列表中我从多个列表中的项目组合构造一个字符串。然后我想将这些字符串转储到 gzip 文件中。我只是将它转储到一个普通的 ascii 文本文
以下代码生成两个字符串的确定性文件(shasum 相同)。 try( FileOutputStream fos = new FileOutputStream(saveL
我正在使用 GZIPOutputStream 以异步方式将压缩数据写入磁盘 我想知道已经写入的数据大小,以便在达到限制后关闭文件 ByteBuffer src; //.. //data added t
我尝试过 gzip 一个大的(100mb 到 500mb)xml 文件。我已经创建了方法 Zip 来做到这一点。问题是它的 zip 时间太多了。对于 200mb 的文件,需要 1.2 秒。对于 100
我想压缩我的字符串值。这些字符串值应与 .net 压缩字符串相同。 我写了Decompress 方法,当我向它发送一个.net 压缩字符串时,它工作正常。但是 Compress 方法无法正常工作。 p
我正在用 Java 开发一个带有套接字的小型网络服务器。我让它像 HTTP 一样工作,使用 Connection: keep-alive 等等。现在,我想压缩 (GZIP) 发送的数据。 为了确保遵守
我正在编写一个简单的 Java http 服务器,它用 JSON 数据进行响应。我试图在发送数据之前对数据进行 GZip 压缩,但它通常会发回在浏览器中产生错误的 gzip 数据。例如,在 Firef
我的应用程序正在将大量视频和 i2c 传感器数据记录到磁盘文件中 - 尽可能快。目前我正在将所有内容转换为字节,并使用 BufferedOutputStream 进行写入。 @Siguza 非常友善地
有人知道为什么创建 gzip 字符串的代码不起作用吗? Mac 上的 CLI gzip 无法打开生成的文件:“不是 gz 格式”。 请注意:我需要字符串,而不是文件。直接创建 gzip 压缩文件是可行
在this thread的帮助下我能够编写一个 decompress() 和一个 compress() 函数。我的程序接收压缩形式的数据,对其进行扩充,有时修改它,然后再次重新压缩并发送它。经过几个小
我正在尝试将一系列 Long 写入 GZIPOutputStream,希望稍后能解压缩这些数字。 当我尝试使用少量 Long 时,以下程序运行良好,但使用许多 Long 时会抛出异常,例如 (1024
要检索通过 gzip 压缩的文件的未压缩大小,您可以读取最后四个字节。我这样做是为了看看是否有任何文件的大小不符合其应有的大小。如果文件小于应有的大小,我使用以下代码附加到文件: GZIPOutput
我有一个遗留系统,服务器在数周内缓慢更新。层次结构是这样的: 1 2 3 4 5 1 is the client pc 2 is a master server 3 4 and 5 are serve
我们正在开发一个需要刷新(强制压缩和发送数据)GZIPOutputStream 的程序。问题是,GZIPOutputStream 的 flush 方法没有按预期工作(强制压缩和发送数据),而是 Str
GZIPOutputStream 只是 DeflaterOutputStream 的子类,但两者都可以实例化。我什么时候用一个而不是另一个?压缩率一样吗? 最佳答案 DeflaterOutputStr
谁能推荐我是否应该这样做: os = new GzipOutputStream(new BufferedOutputStream(...)); 或 os = new BufferedOutputStr
我有一个 BufferedWriter 如下所示: BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(
我是一名优秀的程序员,十分优秀!