आप क्लासलोडर का उपयोग कर अपनी एप्लिकेशन निर्देशिका का पता लगा सकते हैं। देखें: Java: finding the application directory। .INI फ़ाइल के बजाय, का उपयोग करें .properties फ़ाइल - आप इसे Properties कक्षा के माध्यम से लोड और सहेज सकते हैं।
जैसा कि अन्य ने नोट किया है, आपको अपनी एप्लिकेशन निर्देशिका में उपयोगकर्ता सेटिंग्स नहीं लिखनी चाहिए। क्या होगा यदि उपयोगकर्ता के पास आवेदन निर्देशिका में लेखन पहुंच नहीं है? क्या होगा यदि एक ही सिस्टम पर एक ही सिस्टम पर एकाधिक उपयोगकर्ताओं द्वारा आपके एप्लिकेशन का उपयोग किया जा रहा है? विंडोज़ पर भी इन परिस्थितियों में से कोई भी असामान्य नहीं है।
आप अभी भी एप्लिकेशन निर्देशिका से कुछ सेटिंग्स लोड करना चाहते हैं - शायद व्यवस्थापक ने डिफ़ॉल्ट सेटिंग्स को कॉन्फ़िगर किया है। हालांकि इसका मतलब यह है कि आप आवारा फ़ाइलें छोड़ सकता है के पीछे, इस फायदेमंद हो सकता है एप्लिकेशन को उपयोगकर्ता फिर से स्थापित करता है, तो
/home/user/.eclipse
C:\Documents and Settings\User\.eclipse
:
एक आम सम्मेलन उपयोगकर्ता के घर निर्देशिका के लिए उपयोगकर्ता सेटिंग को बचाने के लिए है। रीडमे में ऐसी चीजें दस्तावेज करें।
public static File getSettingsDirectory() {
String userHome = System.getProperty("user.home");
if(userHome == null) {
throw new IllegalStateException("user.home==null");
}
File home = new File(userHome);
File settingsDirectory = new File(home, ".myappdir");
if(!settingsDirectory.exists()) {
if(!settingsDirectory.mkdir()) {
throw new IllegalStateException(settingsDirectory.toString());
}
}
return settingsDirectory;
}
यूनिक्स जैसे ऑपरेटिंग सिस्टम, एक अवधि (".myappdir") के साथ निर्देशिका नाम से शुरू होने पर निर्देशिका छिपा कर देगा: यहां इसे बनाना सीखें और निर्देशिका के लिए एक संदर्भ प्राप्त है। विंडोज़ पर, यह से नीचे स्थित होगा मेरे दस्तावेज़, इसलिए उपयोगकर्ता तब तक निर्देशिका नहीं देख पाएंगे जब तक कि वे इसकी तलाश नहीं करते।
और के बारे में क्या MacOS में एक ही आवेदन चल रहा है ?? और मैं पूरी तरह से इस आलेख से सहमत हूं .. http://www.codinghorror.com/blog/archives/000939.html तो मुझे लगता है कि रजिस्ट्री बिल्कुल अच्छा विचार नहीं है :) – Lipis