Закрытие ZipOutputStream

Я немного запуталась. Я знаю, что пустой почтовый индекс недопустим. Но как насчет этого примера фрагмента:

ZipOutputStream zos = null; 
try
{
    zos = new ZipOutputStream(new FileOutputStream("..."));
    //
    //..
    //
}
finally
{
    zos.close();
}

Если по какой-либо причине не было добавлено никаких записей в zip-архиве (возможно, исключительная ситуация), то при попытке закрытия будет сгенерировано следующее исключение:

Exception in thread "main" java.util.zip.ZipException: ZIP file must have at least one entry
    at java.util.zip.ZipOutputStream.finish(ZipOutputStream.java:304)
    at java.util.zip.DeflaterOutputStream.close(DeflaterOutputStream.java:146)
    at java.util.zip.ZipOutputStream.close(ZipOutputStream.java:321)

В этой ситуации каков был бы самый чистый способ закрытия? поток?

Спасибо ...

11
задан Lachezar Balev 13 January 2011 в 15:01
поделиться