मैं रिसोर्सबंडल के रूप में विभिन्न पैकेजों से कई संपत्ति फ़ाइलों को लोड करना चाहता हूं। क्या मैं जावाजावा एकाधिक संसाधन बंडल
5
A
उत्तर
3
java.util.PropertyResourceBundle
बढ़ाकर setParent
पर कॉल कर सकता हूं।
0
संसाधनबंडल। नियंत्रण() संसाधनबंडल के लिए फ़ाइलों की सूची को नियंत्रित करता है। आप getCandidateLocales और toBundleName को ओवरराइट कर सकते हैं। toBundleName लोकेल को "फ़ाइल नाम" में परिवर्तित करता है और उन स्थानों की सूची जिन्हें आप नियंत्रण में प्राप्त कर सकते हैं। कैंडिडेट लॉकल्स। उदाहरण के लिए
तरहfinal String[] variants = new String[]{"your names"};
ResourceBundle.getBundle(baseName, locale,
new ResourceBundle.Control() {
public List<Locale> getCandidateLocales(String baseName, Locale locale) {
List<Locale> out = new ArrayList<Locale>();
String language = locale.getLanguage();
String country = locale.getCountry();
for (String variant : variants) {
out.add(new Locale(language, country, variant));
}
out.addAll(super.getCandidateLocales(baseName, locale));
return out;
}
public String toBundleName(String baseName, Locale locale) {
Locale l = new Locale(locale.getLanguage(), locale.getCountry());
return locale.getVariant() + "." + super.toBundleName(baseName, l);
}
});
यह केवल जावा 1.6
0
इस वर्ग में देखो में काम करता है। यह मेरे लिए पूरी तरह से काम करता है! वर्ग के लिए जावाडोक बताता है कि इसका उपयोग कैसे करें।
MultiplePropertiesResourceBundle (+ सहायक ResourceBundleEnumeration)
यहाँ आप मददगार unit-tests उर्फ कोड प्रलेखन मिल सकता है।
0
यहाँ मेरी दिया गया है:
import java.util.ArrayList;
import java.util.Collections;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.ResourceBundle;
public class CombinedResourceBundle extends ResourceBundle
{
private Map<String, String> combinedResources = new HashMap<>();
private List<String> bundleNames;
private Locale locale;
private Control control;
public CombinedResourceBundle(List<String> bundleNames, Locale locale, Control control)
{
this.bundleNames = bundleNames;
this.locale = locale;
this.control = control;
}
public void load()
{
bundleNames.forEach(bundleName ->
{
ResourceBundle bundle = ResourceBundle.getBundle(bundleName, locale, control);
Enumeration<String> keysEnumeration = bundle.getKeys();
ArrayList<String> keysList = Collections.list(keysEnumeration);
keysList.forEach(key -> combinedResources.put(key, bundle.getString(key)));
});
}
@Override
public Object handleGetObject(String key)
{
return combinedResources.get(key);
}
@Override
public Enumeration<String> getKeys()
{
return Collections.enumeration(combinedResources.keySet());
}
}
संबंधित मुद्दे
- 1. जावा संसाधन बंडल प्रदर्शन
- 2. ब्लैकबेरी: स्थानीयकरण, संसाधन बंडल
- 3. संसाधन बंडल स्प्रिंग
- 4. गुण बनाम संसाधन बंडल
- 5. सभी उपलब्ध संसाधन बंडल फ़ाइलें
- 6. का उपयोग संसाधन बंडल इंटरसेप्टर
- 7. मैं जावा संसाधन बंडल तारों में पुनरावृत्ति से कैसे बचूं?
- 8. संसाधन बंडल के साथ एक जार
- 9. HTTP पर संसाधन बंडल लोड करें?
- 10. जावा के प्रयास-संसाधन-संसाधन
- 11. ऐप बंडल
- 12. कैसे वेब अनुप्रयोग में संसाधन बंडल फिर से लोड करने?
- 13. बंडल एकाधिक सीएसएस एक सीडीएन से सेवारत?
- 14. फ़ाइल संसाधन के रूप में जावा संसाधन
- 15. जावा संसाधन बंद करना
- 16. जावा सीमित संसाधन उपयोग
- 17. जावा में, वेब अनुप्रयोग में गतिशील रूप से संसाधन बंडल को फिर से लोड कैसे करें?
- 18. संदेश अनुवाद संसाधनों के लिए आईसीयू संसाधन बंडल हैं
- 19. जेएसएफ संसाधन बंडल स्ट्रिंग में एचटीएमएल सहित - संभव है?
- 20. ओएसजीआई बंडल
- 21. सी # जावा संसाधन के समतुल्य
- 22. एंड्रॉइड (जावा) नेटवर्क प्रोग्रामिंग संसाधन
- 23. जावा 7 स्वचालित संसाधन प्रबंधन जेडीबीसी (कोशिश-के-संसाधन विवरण)
- 24. tastypie संसाधन
- 25. ओएसजीआई बंडल
- 26. एक ऐप में एकाधिक ऐप्स को बंडल करें
- 27. एक ही बंडल पहचानकर्ता के साथ एकाधिक ऐप्स कैसे खोजें?
- 28. संसाधन
- 29. एकाधिक कॉलम संरचना जावा
- 30. जावा पर एकाधिक वंशानुक्रम
निजी वर्ग ParentResourceHoleder फैली ResourceBundle { \t \t @Override \t सार्वजनिक गणन getKeys() { \t \t // TODO स्वत: निर्मित विधि ठूंठ \t \t वापसी शून्य; \t} \t @Override \t संरक्षित वस्तु handleGetObject (स्ट्रिंग कुंजी) { \t \t // TODO स्वत: निर्मित विधि ठूंठ \t \t वापसी अशक्त; \t} \t \t @Override \t संरक्षित शून्य setParent (ResourceBundle माता पिता) { \t \t super.setParent (पैरेंट); } } java.util.MissingResourceException: बंडल java.util.PropertyResourceBundle के लिए संसाधन, कुंजी input.error –
Nrusingha
उम नहीं खोजा जा सका, 'java.util.PropertyResourceBundle' फैली हुई है। –
http://stackoverflow.com/a/4615268/823282 शायद यह वही है जो आप चाहते थे, लेकिन आपको नहीं पता था कि आप इसे चाहते थे – activedecay