我希望网络服务以 zip 文件的形式做出响应。
通常没有什么难做的。但是有一件事我想知道: 我可以在不将文件保存到硬盘的情况下压缩文件吗,即使它非常大 (100Mb - 500Mb)?
现在我正在使用这个不错的 hack。我想用压缩功能扩展它而不在文件系统上创建新文件。
public class TempFileInputStream extends FileInputStream {
private File file;
public TempFileInputStream(File file) throws FileNotFoundException {
super(file); // TO WANT: to pass here already zipped stream
this.file = file;
}
@Override
public void close() throws IOException {
super.close();
if (!file.delete()) {
// baad
} else {
// good
}
}
}
如果可以,那么更好/最佳的方法是什么?
感谢您的帮助!
最佳答案
看看这个:
http://download.oracle.com/javase/1.4.2/docs/api/java/util/zip/ZipOutputStream.html
希望对你有帮助...
关于java - Tomcat:WebService 响应作为 zip 存档而不是文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4782806/