我的问题的前提是我创建了一个永远不应该写入磁盘的ini文件,但是这个'文件'需要以某种方式压缩,另外这个文件需要写在一个文件夹中,而不是平放在压缩文件,例如folder / file.ini。
我最初的想法是仅将此文件创建到ByteArrayOutputStream中,这样可以满足文件未写入磁盘的要求。
然而,当涉及压缩文件时,我认为它需要存在于磁盘上,即使只提供文件名。
有没有办法实现这个目标?
答案 0 :(得分:1)
是的,你可以使用ZipOutputStream之类的东西 -
ZipOutputStream zs = null;
try {
zs = new ZipOutputStream(os); // Where os is your ByteArrayOutputStream
ZipEntry e = new ZipEntry(fileName); // fileName is your file (in the zip)
zs.putNextEntry(e);
zs.write(theContent); // theContent is the the file content.
} finally {
if (zs != null) {
zs.close();
}
}