<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FJDK_6%2FResourceBundle</id>
		<title>Java/JDK 6/ResourceBundle - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java%2FJDK_6%2FResourceBundle"/>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java/JDK_6/ResourceBundle&amp;action=history"/>
		<updated>2026-04-11T06:21:05Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://jexp.ru/index.php?title=Java/JDK_6/ResourceBundle&amp;diff=6359&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java/JDK_6/ResourceBundle&amp;diff=6359&amp;oldid=prev"/>
				<updated>2010-06-01T06:12:08Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 06:12, 1 июня 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	<entry>
		<id>http://jexp.ru/index.php?title=Java/JDK_6/ResourceBundle&amp;diff=6358&amp;oldid=prev</id>
		<title> в 18:01, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java/JDK_6/ResourceBundle&amp;diff=6358&amp;oldid=prev"/>
				<updated>2010-05-31T18:01:43Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Customizing Resource Bundle Loading ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.io.BufferedInputStream;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.io.InputStream;&lt;br /&gt;
import java.net.URL;&lt;br /&gt;
import java.net.URLConnection;&lt;br /&gt;
import java.util.Collections;&lt;br /&gt;
import java.util.Enumeration;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
import java.util.Locale;&lt;br /&gt;
import java.util.Properties;&lt;br /&gt;
import java.util.ResourceBundle;&lt;br /&gt;
import java.util.Set;&lt;br /&gt;
public class XMLResourceBundleControl extends ResourceBundle.Control {&lt;br /&gt;
  private static String XML = &amp;quot;xml&amp;quot;;&lt;br /&gt;
  public List&amp;lt;String&amp;gt; getFormats(String baseName) {&lt;br /&gt;
    return Collections.singletonList(XML);&lt;br /&gt;
  }&lt;br /&gt;
  public ResourceBundle newBundle(String baseName, Locale locale, String format,&lt;br /&gt;
      ClassLoader loader, boolean reload) throws IllegalAccessException, InstantiationException,&lt;br /&gt;
      IOException {&lt;br /&gt;
    if ((baseName == null) || (locale == null) || (format == null) || (loader == null)) {&lt;br /&gt;
      throw new NullPointerException();&lt;br /&gt;
    }&lt;br /&gt;
    ResourceBundle bundle = null;&lt;br /&gt;
    if (!format.equals(XML)) {&lt;br /&gt;
      return null;&lt;br /&gt;
    }&lt;br /&gt;
    String bundleName = toBundleName(baseName, locale);&lt;br /&gt;
    String resourceName = toResourceName(bundleName, format);&lt;br /&gt;
    URL url = loader.getResource(resourceName);&lt;br /&gt;
    if (url == null) {&lt;br /&gt;
      return null;&lt;br /&gt;
    }&lt;br /&gt;
    URLConnection connection = url.openConnection();&lt;br /&gt;
    if (connection == null) {&lt;br /&gt;
      return null;&lt;br /&gt;
    }&lt;br /&gt;
    if (reload) {&lt;br /&gt;
      connection.setUseCaches(false);&lt;br /&gt;
    }&lt;br /&gt;
    InputStream stream = connection.getInputStream();&lt;br /&gt;
    if (stream == null) {&lt;br /&gt;
      return null;&lt;br /&gt;
    }&lt;br /&gt;
    BufferedInputStream bis = new BufferedInputStream(stream);&lt;br /&gt;
    bundle = new XMLResourceBundle(bis);&lt;br /&gt;
    bis.close();&lt;br /&gt;
    return bundle;&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    ResourceBundle bundle = ResourceBundle.getBundle(&amp;quot;Strings&amp;quot;, new XMLResourceBundleControl());&lt;br /&gt;
    String string = bundle.getString(&amp;quot;Key&amp;quot;);&lt;br /&gt;
    System.out.println(&amp;quot;Key: &amp;quot; + string);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class XMLResourceBundle extends ResourceBundle {&lt;br /&gt;
  private Properties props;&lt;br /&gt;
  XMLResourceBundle(InputStream stream) throws IOException {&lt;br /&gt;
    props = new Properties();&lt;br /&gt;
    props.loadFromXML(stream);&lt;br /&gt;
  }&lt;br /&gt;
  protected Object handleGetObject(String key) {&lt;br /&gt;
    return props.getProperty(key);&lt;br /&gt;
  }&lt;br /&gt;
  public Enumeration&amp;lt;String&amp;gt; getKeys() {&lt;br /&gt;
    Set&amp;lt;String&amp;gt; handleKeys = props.stringPropertyNames();&lt;br /&gt;
    return Collections.enumeration(handleKeys);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
The Strings.xml Resource Bundle&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE properties SYSTEM &amp;quot;http://java.sun.ru/dtd/properties.dtd&amp;lt;/codeTitle&amp;gt;&amp;lt;cnTitle&amp;gt;&amp;lt;/cnTitle&amp;gt;&amp;lt;codeKeywords&amp;gt;&amp;lt;/codeKeywords&amp;gt;&amp;lt;codeComments&amp;gt;&amp;lt;/codeComments&amp;gt;&lt;br /&gt;
&amp;lt;properties&amp;gt;&lt;br /&gt;
  &amp;lt;entry key=&amp;quot;Key&amp;lt;/codeTitle&amp;gt;&amp;lt;cnTitle&amp;gt;&amp;lt;/cnTitle&amp;gt;&amp;lt;codeKeywords&amp;gt;&amp;lt;/codeKeywords&amp;gt;&amp;lt;codeComments&amp;gt;&amp;lt;/codeComments&amp;gt;Value&amp;lt;/entry&amp;gt;&lt;br /&gt;
&amp;lt;/properties&amp;gt;&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Using the JDK 6 ResourceBundle class ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
import java.util.Locale;&lt;br /&gt;
import java.util.ResourceBundle;&lt;br /&gt;
import java.util.Set;&lt;br /&gt;
public class RBPropDemo {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    ResourceBundle.clearCache();&lt;br /&gt;
    String bundleName = &amp;quot;myproj.MyResources&amp;quot;;&lt;br /&gt;
    ResourceBundle myResources = ResourceBundle.getBundle(bundleName, Locale.GERMAN);&lt;br /&gt;
    System.out.println(&amp;quot;Key&amp;quot;s values:&amp;quot;);&lt;br /&gt;
    System.out.println(myResources.getString(&amp;quot;okKey&amp;quot;));&lt;br /&gt;
    System.out.println(myResources.getString(&amp;quot;cancelKey&amp;quot;));&lt;br /&gt;
    System.out.println(myResources.getString(&amp;quot;submitKey&amp;quot;));&lt;br /&gt;
    System.out.println(&amp;quot;\nChecking okKey in resource bundle:&amp;quot;);&lt;br /&gt;
    if (myResources.containsKey(&amp;quot;okKey&amp;quot;)) {&lt;br /&gt;
      System.out.println(&amp;quot;okKey exists! &amp;quot; + &amp;quot; Value = &amp;quot; + myResources.getString(&amp;quot;okKey&amp;quot;));&lt;br /&gt;
    } else {&lt;br /&gt;
      System.out.println(&amp;quot;The key Doesn&amp;quot;t Exist&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
    System.out.println(&amp;quot;\nGet a set of keys:&amp;quot;);&lt;br /&gt;
    Set&amp;lt;String&amp;gt; keySet = myResources.keySet();&lt;br /&gt;
    Object[] keys = keySet.toArray();&lt;br /&gt;
    for (int i = 0; i &amp;lt; keys.length; i++) {&lt;br /&gt;
      System.out.println(&amp;quot;Key &amp;quot; + (i + 1) + &amp;quot; = &amp;quot; + keys[i]);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
/*&lt;br /&gt;
MyResources.properties file&lt;br /&gt;
okKey = OK&lt;br /&gt;
cancelKey = Cancel&lt;br /&gt;
submitKey = Submit&lt;br /&gt;
&lt;br /&gt;
The MyResources_de.properties file&lt;br /&gt;
cancelKey = Abbrechen&lt;br /&gt;
*/&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XML resource bundle ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
import java.io.BufferedInputStream;&lt;br /&gt;
import java.io.IOException;&lt;br /&gt;
import java.io.InputStream;&lt;br /&gt;
import java.net.URL;&lt;br /&gt;
import java.net.URLConnection;&lt;br /&gt;
import java.util.Collections;&lt;br /&gt;
import java.util.Enumeration;&lt;br /&gt;
import java.util.List;&lt;br /&gt;
import java.util.Locale;&lt;br /&gt;
import java.util.Properties;&lt;br /&gt;
import java.util.ResourceBundle;&lt;br /&gt;
import java.util.Set;&lt;br /&gt;
public class XMLResourceBundleControl extends ResourceBundle.Control {&lt;br /&gt;
  private static String XML = &amp;quot;xml&amp;quot;;&lt;br /&gt;
  public List&amp;lt;String&amp;gt; getFormats(String baseName) {&lt;br /&gt;
    return Collections.singletonList(XML);&lt;br /&gt;
  }&lt;br /&gt;
  public ResourceBundle newBundle(String baseName, Locale locale, String format,&lt;br /&gt;
      ClassLoader loader, boolean reload) throws IllegalAccessException, InstantiationException,&lt;br /&gt;
      IOException {&lt;br /&gt;
    if ((baseName == null) || (locale == null) || (format == null) || (loader == null)) {&lt;br /&gt;
      throw new NullPointerException();&lt;br /&gt;
    }&lt;br /&gt;
    ResourceBundle bundle = null;&lt;br /&gt;
    if (!format.equals(XML)) {&lt;br /&gt;
      return null;&lt;br /&gt;
    }&lt;br /&gt;
    String bundleName = toBundleName(baseName, locale);&lt;br /&gt;
    String resourceName = toResourceName(bundleName, format);&lt;br /&gt;
    URL url = loader.getResource(resourceName);&lt;br /&gt;
    if (url == null) {&lt;br /&gt;
      return null;&lt;br /&gt;
    }&lt;br /&gt;
    URLConnection connection = url.openConnection();&lt;br /&gt;
    if (connection == null) {&lt;br /&gt;
      return null;&lt;br /&gt;
    }&lt;br /&gt;
    if (reload) {&lt;br /&gt;
      connection.setUseCaches(false);&lt;br /&gt;
    }&lt;br /&gt;
    InputStream stream = connection.getInputStream();&lt;br /&gt;
    if (stream == null) {&lt;br /&gt;
      return null;&lt;br /&gt;
    }&lt;br /&gt;
    BufferedInputStream bis = new BufferedInputStream(stream);&lt;br /&gt;
    bundle = new XMLResourceBundle(bis);&lt;br /&gt;
    bis.close();&lt;br /&gt;
    return bundle;&lt;br /&gt;
  }&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    ResourceBundle bundle = ResourceBundle.getBundle(&amp;quot;Strings&amp;quot;, new XMLResourceBundleControl());&lt;br /&gt;
    String string = bundle.getString(&amp;quot;Key&amp;quot;);&lt;br /&gt;
    System.out.println(&amp;quot;Key: &amp;quot; + string);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
class XMLResourceBundle extends ResourceBundle {&lt;br /&gt;
  private Properties props;&lt;br /&gt;
  XMLResourceBundle(InputStream stream) throws IOException {&lt;br /&gt;
    props = new Properties();&lt;br /&gt;
    props.loadFromXML(stream);&lt;br /&gt;
  }&lt;br /&gt;
  protected Object handleGetObject(String key) {&lt;br /&gt;
    return props.getProperty(key);&lt;br /&gt;
  }&lt;br /&gt;
  public Enumeration&amp;lt;String&amp;gt; getKeys() {&lt;br /&gt;
    Set&amp;lt;String&amp;gt; handleKeys = props.stringPropertyNames();&lt;br /&gt;
    return Collections.enumeration(handleKeys);&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
The Strings.xml Resource Bundle&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE properties SYSTEM &amp;quot;http://java.sun.ru/dtd/properties.dtd&amp;lt;/codeTitle&amp;gt;&amp;lt;cnTitle&amp;gt;&amp;lt;/cnTitle&amp;gt;&amp;lt;codeKeywords&amp;gt;&amp;lt;/codeKeywords&amp;gt;&amp;lt;codeComments&amp;gt;&amp;lt;/codeComments&amp;gt;&lt;br /&gt;
&amp;lt;properties&amp;gt;&lt;br /&gt;
  &amp;lt;entry key=&amp;quot;Key&amp;lt;/codeTitle&amp;gt;&amp;lt;cnTitle&amp;gt;&amp;lt;/cnTitle&amp;gt;&amp;lt;codeKeywords&amp;gt;&amp;lt;/codeKeywords&amp;gt;&amp;lt;codeComments&amp;gt;&amp;lt;/codeComments&amp;gt;Value&amp;lt;/entry&amp;gt;&lt;br /&gt;
&amp;lt;/properties&amp;gt;&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
			</entry>

	</feed>