मैं थोड़ा उलझन में हूं। मुझे पता है कि एक खाली ज़िप कानूनी नहीं है। लेकिन क्या इस नमूने स्निपेट के बारे में:समापन ZipOutputStream
ZipOutputStream zos = null;
try
{
zos = new ZipOutputStream(new FileOutputStream("..."));
//
//..
//
}
finally
{
zos.close();
}
कोई जिप प्रविष्टियों किसी कारण (संभवतः असाधारण स्थिति है) तो निम्न अपवादों के पास प्रयास पर डाल दिया जाएगा के लिए जोड़ा गया था, तो:
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)
इस स्थिति में धारा को बंद करने का सबसे साफ तरीका क्या होगा?
धन्यवाद ...
आपकी मदद के लिए धन्यवाद, यह सच होना चाहिए :-) –
@ लूचो - इसे और अधिक मजबूत बनाने के लिए उदाहरण को संपादित किया। – Anon
यह समाधान ठीक है, लेकिन तर्क गलत है: आप या तो स्ट्रीम बंद कर सकते हैं। ZipOutputStream जैसे रैपर स्ट्रीम को बंद करने से निम्न-स्तर फ़ाइलऑटपुटस्ट्रीम भी बंद हो जाएगा। –