Я хочу, чтобы веб-сервис отвечал в виде zip-файла.
Как правило, здесь нет ничего сложного. Но есть одна вещь, которую я хочу знать:
Можно ли заархивировать файл без сохранения его на жестком диске, даже если он очень большой (100–500 МБ)?
Теперь я использую этот хороший хак. И я хочу расширить его с помощью функции ziping без создания новых файлов в файловой системе.
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
}
}
}
Если я могу, то какой лучший / оптимальный способ сделать это?
Спасибо за любую помощь!