Dfa ने जो कहा, उस पर विस्तार करने के लिए, इसका कारण यह है कि जार फ़ाइल को ज़िप फ़ाइल की तरह सेट किया गया है। यदि आप फ़ाइल को संशोधित करना चाहते हैं, तो आपको सभी प्रविष्टियों को पढ़ना होगा, जिसको आप बदलना चाहते हैं उसे संशोधित करें, और फिर प्रविष्टियों को जार फ़ाइल में वापस लिखें। मुझे पहले भी ऐसा करना पड़ा है, और मैं इसे करने का एकमात्र तरीका था।
संपादित करें
ध्यान दें कि यह जावा जार फ़ाइल संपादकों के लिए आंतरिक का उपयोग कर रहा है, जो फ़ाइल स्ट्रीम हैं। मुझे यकीन है कि ऐसा करने का एक तरीका है, आप पूरे जार को मेमोरी में पढ़ सकते हैं, सब कुछ संशोधित कर सकते हैं, फिर एक फाइल स्ट्रीम में वापस लिख सकते हैं। मेरा मानना है कि 7-जिप जैसी यूटिलिटीज और अन्य लोग कर रहे हैं, जैसा कि मेरा मानना है कि जिप हेडर के TOC को राइट टाइम पर परिभाषित करना होता है। हालांकि, मैं गलत हो सकता है।