] हालाँकि, jaroutputstream के भीतर कुछ अनिर्दिष्ट quirks से बचना आवश्यक है:
जार फ़ाइलों में निर्देशिका नाम एक '/' स्लैश के साथ समाप्त होनी चाहिए।
2 आगे के स्लैश का उपयोग करने वाले पथ:
प्रवेश नाम एक '/' स्लैश के साथ शुरू नहीं होना चाहिए। ] निम्नलिखित सही कोड एक प्रकट फ़ाइल के साथ एक मान्य जार फ़ाइल का निर्माण करता है:
सार्वजनिक शून्य रन () ioException { मेनिफेस्ट मैनिफेस्ट = नया मैनिफेस्ट (); MusineSt.getMainAttributes ()। पुट (atributes.name.manifest_version, "1.0"); JaroutputStream लक्ष्य = नया JaroutputStream (नया FileOutputStream ("आउटपुट.जार"), प्रकट); जोड़ें (नई फ़ाइल ("InputDirectory"), लक्ष्य); target.close (); } निजी शून्य जोड़ें (फ़ाइल स्रोत, JaroutputStream लक्ष्य) IOException {फेंकता है स्ट्रिंग नाम = source.getPath ()। प्रतिस्थापित ("\\", "/"); if (source.isdirectory ()) { if (name.endswith ("/")) { नाम = "/"; } Jarentry प्रविष्टि = नया Jarentry (नाम); Antrice.settime (source.lastModified ()); target.putnextentry (प्रवेश); target.closeentry (); के लिए (फ़ाइल नेस्टेडफाइल: source.listfiles ()) { जोड़ें (नेस्टेडफाइल, लक्ष्य); } } अन्य { Jarentry प्रविष्टि = नया Jarentry (नाम); Antrice.settime (source.lastModified ()); target.putnextentry (प्रवेश); TRY (BufferedInputStream in = new BufferedInputStream (new fileInputStream (स्रोत))) { बाइट [] बफर = नया बाइट [1024]; जबकि (सच) { int count = in.read (बफर); if (गिनती == -1) { तोड़ना; } target.write (बफर, 0, गिनती); } target.closeentry (); } } }
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3