Heim >Java >javaLernprogramm >Detaillierte Einführung in Properties und ResourceBundle

Detaillierte Einführung in Properties und ResourceBundle

零下一度
零下一度Original
2017-07-20 10:37:411542Durchsuche

1.Eigenschaften und ResourceBundle

Beide Klassen können die in der Eigenschaftsdatei gespeicherten Schlüssel-Wert-Paare lesen, wenn ResourceBundle die Eigenschaft liest Datei Die Bedienung ist relativ einfach.

2.Eigenschaften

Diese Klasse erbt Hashtable und speichert Schlüssel-Wert-Paare in einer Sammlung. Basierend auf dem Eingabestream werden Schlüssel-Wert-Paare aus der Eigenschaftendatei gelesen. Nach dem Aufruf wird die Methode „load()“ vom Eingabestream getrennt und der Eingabestream muss nicht automatisch geschlossen werden.

    /** * 基于输入流读取属性文件:Properties继承了Hashtable,底层将key/value键值对存储在集合中,
     * 通过put方法可以向集合中添加键值对或者修改key对应的value
     * 
     * @throws IOException     */@SuppressWarnings("rawtypes")
    @Testpublic void test01() throws IOException {
        FileInputStream fis = new FileInputStream("Files/test01.properties");
        Properties props = new Properties();
        props.load(fis);// 将文件的全部内容读取到内存中,输入流到达结尾fis.close();// 加载完毕,就不再使用输入流,程序未主动关闭,需要手动关闭/*byte[] buf = new byte[1024];
        int length = fis.read(buf);
        System.out.println("content=" + new String(buf, 0, length));//抛出StringIndexOutOfBoundsException*/System.out.println("driver=" + props.getProperty("jdbc.driver"));
        System.out.println("url=" + props.getProperty("jdbc.url"));
        System.out.println("username=" + props.getProperty("jdbc.username"));
        System.out.println("password=" + props.getProperty("jdbc.password"));/** * Properties其他可能用到的方法         */props.put("serverTimezone", "UTC");// 底层通过hashtable.put(key,value)props.put("jdbc.password", "456");
        FileOutputStream fos = new FileOutputStream("Files/test02.xml");// 将Hashtable中的数据写入xml文件中props.storeToXML(fos, "来自属性文件的数据库连接四要素");

        System.out.println();
        System.out.println("遍历属性文件");
        System.out.println("hashtable中键值对数目=" + props.size());
        Enumeration keys = props.propertyNames();while (keys.hasMoreElements()) {
            String key = (String) keys.nextElement();
            System.out.println(key + "=" + props.getProperty(key));
        }

    }

3.ResourceBundle

Diese Klasse liest die Eigenschaftendatei basierend auf der Klasse: Behandeln Sie die Eigenschaft Datei als Klasse, was bedeutet, dass die Eigenschaftendatei im Paket platziert werden muss, verweist auf die Eigenschaftendatei unter Verwendung ihres vollständig qualifizierten Klassennamens und nicht ihres Pfads.

    /** * 基于类读取属性文件:该方法将属性文件当作类来处理,属性文件放在包中,使用属性文件的全限定性而非路径来指代文件     */@Testpublic void test02() {
        ResourceBundle bundle = ResourceBundle.getBundle("com.javase.properties.test01");
        System.out.println("获取指定key的值");
        System.out.println("driver=" + bundle.getString("jdbc.driver"));
        System.out.println("url=" + bundle.getString("jdbc.url"));
        System.out.println("username=" + bundle.getString("jdbc.username"));
        System.out.println("password=" + bundle.getString("jdbc.password"));

        System.out.println("-----------------------------");
        System.out.println("遍历属性文件");
        Enumeration<String> keys = bundle.getKeys();while (keys.hasMoreElements()) {
            String key = keys.nextElement();
            System.out.println(key + "=" + bundle.getString(key));
        }
    }

4. Lesen Sie die Eigenschaftendatei in den Spring-Container

Fügen Sie normalerweise die vier Elemente der Datenbank ein Verbindung in In der Eigenschaftendatei liest das Programm Parameter aus der Eigenschaftendatei, sodass den Quellcode nicht ändern muss, wenn sich die Datenbankverbindungselemente ändern. Methode zum Laden des Inhalts der Eigenschaftendatei in das XML-Dokument:

  1. Konfigurieren Sie Kontexteinschränkungen im Header der Konfigurationsdatei.

  2. Fügen Sie zur Konfigurationsdatei hinzu und laden Sie die Attribute in der Konfigurationsdatei.

  3. Inhalt der Konfigurationsdatei abrufen: ${key}

5. Kommentare

# am Anfang wird verwendet, um Kommentare in der Eigenschaftendatei hinzuzufügen.

6. Kodierung

Die Attributdatei verwendet die ISO-8859-1-Kodierung, die Chinesisch nicht unterstützt, und chinesische Schriftzeichen werden konvertiert Wird im Unicode-Kodierungsmodus angezeigt.

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in Properties und ResourceBundle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn