मैंने एक्लिप्स में जावा प्रोग्राम बनाया है। मैंने विंडोज एक्सपी पर शुरुआत की, लेकिन हाल ही में इसे अपग्रेड किया है।मेरा प्रोग्राम Win7 के तहत बनाई गई फ़ाइलों को क्यों नहीं हटा सकता?
इसकी बचत प्रणाली के हिस्से के रूप में, प्रोग्राम settings_new.sav
फ़ाइल को सेटिंग्स लिखता है। यदि यह ठीक हो जाता है, तो यह settings.sav
हटा देता है, और पुराने नाम से मेल खाने के लिए नया नाम बदलता है। हालांकि यह WinXP के तहत काम करता था (कम से कम मैंने सोचा था कि यह किया गया है, लेकिन अब मैं जांच नहीं सकता), Win7 के तहत, यह फ़ाइल को हटाने में विफल रहता है, भले ही यह प्रोग्राम बनाया गया था (हालांकि, प्रोग्राम का एक अलग उदाहरण)।
फ़ाइल ग्रहण द्वारा उठाई गई है और इसे बहुत खुशी से हटाया जा सकता है। मैं इसे मैन्युअल रूप से हटा सकता हूं। मैं अपने कंप्यूटर पर व्यवस्थापक हूँ। फ़ोल्डर केवल वर्कस्पेस फ़ोल्डर के अंदर है, और प्रोग्राम फ़ाइलों में नहीं है (हालांकि, मुझे नहीं पता कि अंतिम उपयोगकर्ता इसे इंस्टॉल करेंगे या नहीं)। कार्यक्रम फाइलों को ठीक से बना और संशोधित कर सकता है। यह किसी भी अपवाद को फेंक नहीं रहा है, जिसे मैंने सोचा था कि अगर यह Win7 को अवरुद्ध कर रहा था तो यह होगा।
कोई भी विचार?
यह वास्तव में विंडोज़ में फाइल लॉकिंग तंत्र है। लिनक्स के तहत एक ही कोड शायद ठीक काम करेगा। लेकिन मैं सहमत हूं, आपको फाइल को आसानी से हर जगह काम करने के लिए फ़ाइल को बंद करना चाहिए। –
@ मार्कबॉबिन्सन: दिलचस्प, मुझे लिनक्स में भी अपने स्विंग अनुप्रयोगों का परीक्षण करना चाहिए। ऐसा लगता है कि डेवलपर्स को JVM की बजाय ओएस स्तर पर समस्याओं का अनुमान लगाना चाहिए। – PraveenMax
विंडोज और लिनक्स में अलग-अलग फाइल लॉकिंग सेमेन्टिक्स हैं। लिनक्स आपको बिना किसी फ़ाइल के संपादन के लिए खुले फ़ाइल को हटाने की अनुमति देगा। फिर आप बिना किसी समस्या के एक ही नाम के साथ एक नई फाइल बना सकते हैं। विंडोज़ में, यह आपको किसी फ़ाइल को हटाने से रोक सकता है अगर यह किसी अन्य प्रक्रिया में खुला है। यह विशिष्ट स्थितियां इस बात पर निर्भर करती हैं कि यह कैसे खोला जाता है (विधि/और प्रकार के प्रकार से)। यदि आपके पास और प्रश्न हैं तो मेरा सुझाव है कि आप विंडोज़ लोगों के उद्देश्य से एक नया SO प्रश्न पोस्ट करें :) –