मेरे पास एक एकल यूटीएफ -8 एन्कोडेड स्ट्रिंग है जो कुंजी + वैल्यू जोड़े की एक श्रृंखला है जिसे गुण वस्तु में लोड किया जाना आवश्यक है। मैंने देखा कि मुझे अपने आंतरिक कार्यान्वयन के साथ गड़बड़ वाले पात्र मिल रहे थे और थोड़ी सी गुगल के बाद मुझे यह Question मिला जो इंगित करता था कि मेरी समस्या क्या थी - मूल रूप से गुण आईएसओ -885 9 -1 का उपयोग करके डिफ़ॉल्ट रूप से हैं। यह कार्यान्वयनयूटीएफ -8 गुणों में जावा स्ट्रिंग को एन्कोड किया गया
public Properties load(String propertiesString) {
Properties properties = new Properties();
try {
properties.load(new ByteArrayInputStream(propertiesString.getBytes()));
} catch (IOException e) {
logger.error(ExceptionUtils.getFullStackTrace(e));
}
return properties;
}
कोई एन्कोडिंग निर्दिष्ट नहीं है, इसलिए मेरी समस्या। मेरे प्रश्न के लिए, मैं Reader
/InputStream
संयोजन को Properties.load()
पर जाने के लिए चेन/बनाने के लिए कैसे पता लगा सकता हूं जो propertiesString
प्रदान करता है और एन्कोडिंग निर्दिष्ट करता है। मुझे लगता है कि यह ज्यादातर I/O धाराओं में मेरी अनुभवहीनता और java.io पैकेज में आईओ उपयोगिताओं की प्रतीत होता है।
किसी भी सलाह की सराहना की।
कि निर्माता मौजूद नहीं है। – BalusC
धन्यवाद, मैंने चेकआउट [स्ट्रिंग रीडर] (http://docs.oracle.com/javase/6/docs/api/java/io/StringReader.html) किया, लेकिन मैंने ऐसा कोई कन्स्ट्रक्टर नहीं देखा। – markdsievers
चीयर्स मैट, बस इस समाधान को सफलतापूर्वक आजमाया। शुरुआत में स्ट्रिंग रीडर का उपयोग नहीं किया क्योंकि मेरे एन्कोडिंग पर नियंत्रण की तलाश में मेरे अंधेरे थे। आपकी सहायता के लिए बहुत बहुत धन्यवाद। अपवोट + मेरे दोस्त को स्वीकार करें। – markdsievers