Ответ 1
Да, вы можете сделать это без проблем. Вам просто нужно использовать запись для преобразования из строк, основанных на символах, в поток 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 с несколькими файлами внутри