【发布时间】:2020-07-29 20:08:10
【问题描述】:
这是我尝试过的
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;
public class GZIPCompression {
public static void main(String[] args) throws IOException {
File file = new File("gziptest.zip");
try ( OutputStream os = new GZIPOutputStream(new FileOutputStream(file, true))) {
os.write("test".getBytes());
}
try ( GZIPInputStream inStream = new GZIPInputStream(new FileInputStream(file))) {
while (inStream.available() > 0) {
System.out.print((char) inStream.read());
}
}
}
}
根据我阅读的内容,这应该将“test”附加到 gziptest.zip 的末尾,但是当我运行代码时,文件根本不会被修改。奇怪的是,如果我将FileOutputStream(file, true) 更改为FileOutputStream(file, false),文件确实会被修改,但它的原始内容会被覆盖,这当然不是我想要的。
我使用的是 JDK 14.0.1。
【问题讨论】:
标签: java append zip gzip java-io