hoat4 का समाधान बहुत ही सुरुचिपूर्ण और सरल है। यह सभी सनी इन फाइलों के लिए काम करता है । हालाँकि, मैंने ऐसे कई देखे हैं जो कुंजी में अन-एस्केप अंतरिक्ष वर्ण हैं ।
इसे हल करने के लिए, मैंने इसकी एक प्रति डाउनलोड और संशोधित की है java.util.Properties। हालांकि यह थोड़ा अपरंपरागत है, और अल्पकालिक है, वास्तविक मोड कुछ लाइनें और काफी सरल थे। परिवर्तनों को शामिल करने के लिए मैं जेडीके समुदाय के सामने एक प्रस्ताव रखूंगा।
एक आंतरिक वर्ग चर जोड़कर:
private boolean _spaceCharOn = false;
मैं कुंजी / मूल्य पृथक्करण बिंदु के लिए स्कैनिंग से संबंधित प्रसंस्करण को नियंत्रित करता हूं। मैंने अंतरिक्ष वर्ण खोज कोड को एक छोटी निजी विधि से बदल दिया है जो उपरोक्त चर की स्थिति के आधार पर एक बूलियन देता है।
private boolean isSpaceSeparator(char c) {
if (_spaceCharOn) {
return (c == ' ' || c == '\t' || c == '\f');
} else {
return (c == '\t' || c == '\f');
}
}
इस पद्धति का उपयोग निजी पद्धति के भीतर दो स्थानों पर किया जाता है load0(...)।
इसे स्विच करने के लिए एक सार्वजनिक विधि भी है, लेकिन यह बेहतर होगा कि Propertiesयदि आपके एप्लिकेशन के लिए स्पेस सेपरेटर कोई समस्या नहीं है , तो इसके मूल संस्करण का उपयोग करें ।
यदि रुचि है, तो मैं अपनी IniFile.javaफ़ाइल पर कोड पोस्ट करने को तैयार हूं । यह या तो संस्करण के साथ काम करता है Properties।