Source Code : Customizing Resource Bundle Loading
Java Is Open Source Programming Language You Can Download From Java and Java Libraries From http://www.oracle.com.
Click Here to download
We provide this code related to title for you to solve your developing problem easily. Libraries which is import in this program you can download from http://www.oracle.com.
Click Here or search from google with Libraries Name you get jar file related it
Customizing Resource Bundle Loading
import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;
import java.util.Collections;
import java.util.Enumeration;
import java.util.List;
import java.util.Locale;
import java.util.Properties;
import java.util.ResourceBundle;
import java.util.Set;
public class XMLResourceBundleControl extends ResourceBundle.Control {
private static String XML = "xml";
public List<String> getFormats(String baseName) {
return Collections.singletonList(XML);
}
public ResourceBundle newBundle(String baseName, Locale locale, String format,
ClassLoader loader, boolean reload) throws IllegalAccessException, InstantiationException,
IOException {
if ((baseName == null) || (locale == null) || (format == null) || (loader == null)) {
throw new NullPointerException();
}
ResourceBundle bundle = null;
if (!format.equals(XML)) {
return null;
}
String bundleName = toBundleName(baseName, locale);
String resourceName = toResourceName(bundleName, format);
URL url = loader.getResource(resourceName);
if (url == null) {
return null;
}
URLConnection connection = url.openConnection();
if (connection == null) {
return null;
}
if (reload) {
connection.setUseCaches(false);
}
InputStream stream = connection.getInputStream();
if (stream == null) {
return null;
}
BufferedInputStream bis = new BufferedInputStream(stream);
bundle = new XMLResourceBundle(bis);
bis.close();
return bundle;
}
public static void main(String args[]) {
ResourceBundle bundle = ResourceBundle.getBundle("Strings", new XMLResourceBundleControl());
String string = bundle.getString("Key");
System.out.println("Key: " + string);
}
}
class XMLResourceBundle extends ResourceBundle {
private Properties props;
XMLResourceBundle(InputStream stream) throws IOException {
props = new Properties();
props.loadFromXML(stream);
}
protected Object handleGetObject(String key) {
return props.getProperty(key);
}
public Enumeration<String> getKeys() {
Set<String> handleKeys = props.stringPropertyNames();
return Collections.enumeration(handleKeys);
}
}
The Strings.xml Resource Bundle
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd</codeTitle><cnTitle></cnTitle><codeKeywords></codeKeywords><codeComments></codeComments>
<properties>
<entry key="Key</codeTitle><cnTitle></cnTitle><codeKeywords></codeKeywords><codeComments></codeComments>Value</entry>
</properties>
Thank with us