Wir speichern normalerweise die Konfigurationsparameter von Java-Anwendungen in Eigenschaftendateien. Die Eigenschaftendateien von Java-Anwendungen können eine normale Datei sein, die auf Schlüssel-Wert-Paaren mit Eigenschaften als Erweiterung basiert, oder es kann eine XML-Datei sein
Das Folgende ist der Programmcode für den Fall:
PropertyFilesUtil.java
package com.journaldev.util; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; import java.util.Properties; import java.util.Set; public class PropertyFilesUtil { public static void main(String[] args) throws IOException { String propertyFileName = "DB.properties"; String xmlFileName = "DB.xml"; writePropertyFile(propertyFileName, xmlFileName); readPropertyFile(propertyFileName, xmlFileName); readAllKeys(propertyFileName, xmlFileName); readPropertyFileFromClasspath(propertyFileName); } /** * read property file from classpath * @param propertyFileName * @throws IOException */ private static void readPropertyFileFromClasspath(String propertyFileName) throws IOException { Properties prop = new Properties(); prop.load(PropertyFilesUtil.class.getClassLoader().getResourceAsStream(propertyFileName)); System.out.println(propertyFileName +" loaded from Classpath::db.host = "+prop.getProperty("db.host")); System.out.println(propertyFileName +" loaded from Classpath::db.user = "+prop.getProperty("db.user")); System.out.println(propertyFileName +" loaded from Classpath::db.pwd = "+prop.getProperty("db.pwd")); System.out.println(propertyFileName +" loaded from Classpath::XYZ = "+prop.getProperty("XYZ")); } /** * read all the keys from the given property files * @param propertyFileName * @param xmlFileName * @throws IOException */ private static void readAllKeys(String propertyFileName, String xmlFileName) throws IOException { System.out.println("Start of readAllKeys"); Properties prop = new Properties(); FileReader reader = new FileReader(propertyFileName); prop.load(reader); Set<Object> keys= prop.keySet(); for(Object obj : keys){ System.out.println(propertyFileName + ":: Key="+obj.toString()+"::value="+prop.getProperty(obj.toString())); } //loading xml file now, first clear existing properties prop.clear(); InputStream is = new FileInputStream(xmlFileName); prop.loadFromXML(is); keys= prop.keySet(); for(Object obj : keys){ System.out.println(xmlFileName + ":: Key="+obj.toString()+"::value="+prop.getProperty(obj.toString())); } //Now free all the resources is.close(); reader.close(); System.out.println("End of readAllKeys"); } /** * This method reads property files from file system * @param propertyFileName * @param xmlFileName * @throws IOException * @throws FileNotFoundException */ private static void readPropertyFile(String propertyFileName, String xmlFileName) throws FileNotFoundException, IOException { System.out.println("Start of readPropertyFile"); Properties prop = new Properties(); FileReader reader = new FileReader(propertyFileName); prop.load(reader); System.out.println(propertyFileName +"::db.host = "+prop.getProperty("db.host")); System.out.println(propertyFileName +"::db.user = "+prop.getProperty("db.user")); System.out.println(propertyFileName +"::db.pwd = "+prop.getProperty("db.pwd")); System.out.println(propertyFileName +"::XYZ = "+prop.getProperty("XYZ")); //loading xml file now, first clear existing properties prop.clear(); InputStream is = new FileInputStream(xmlFileName); prop.loadFromXML(is); System.out.println(xmlFileName +"::db.host = "+prop.getProperty("db.host")); System.out.println(xmlFileName +"::db.user = "+prop.getProperty("db.user")); System.out.println(xmlFileName +"::db.pwd = "+prop.getProperty("db.pwd")); System.out.println(xmlFileName +"::XYZ = "+prop.getProperty("XYZ")); //Now free all the resources is.close(); reader.close(); System.out.println("End of readPropertyFile"); } /** * This method writes Property files into file system in property file * and xml format * @param fileName * @throws IOException */ private static void writePropertyFile(String propertyFileName, String xmlFileName) throws IOException { System.out.println("Start of writePropertyFile"); Properties prop = new Properties(); prop.setProperty("db.host", "localhost"); prop.setProperty("db.user", "user"); prop.setProperty("db.pwd", "password"); prop.store(new FileWriter(propertyFileName), "DB Config file"); System.out.println(propertyFileName + " written successfully"); prop.storeToXML(new FileOutputStream(xmlFileName), "DB Config XML file"); System.out.println(xmlFileName + " written successfully"); System.out.println("End of writePropertyFile"); } }Wenn dieser Code ausgeführt wird, generiert die Methode writePropertyFile Eigenschaftsdateien in den beiden oben genannten Formaten und speichert die Dateien im Projekt im Stammverzeichnis.
Die beiden von der Methode writePropertyFile generierten Eigenschaftendateiinhalte:
DB.properties
#DB Config file#Fri Nov 16 11:16:37 PST 2012db.user=user db.host=localhost db.pwd=passwordDB.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"><properties><comment>DB Config XML file</comment> <entry key="db.user">user</entry><entry key="db.host">localhost</entry><entry key="db.pwd">password</entry> </properties>Es ist zu beachten, dass wir die verwenden Kommentarelement
Der zweite Parameter in diesem Code ist der Kommentarinhalt. Wenn null übergeben wird, enthält die generierte XML-Attributdatei kein Kommentarelement. prop.storeToXML(new FileOutputStream(xmlFileName), "DB Config XML file");
Die Konsolenausgabe lautet wie folgt:
Start of writePropertyFile DB.properties written successfully DB.xml written successfully End of writePropertyFile Start of readPropertyFileDB.properties::db.host = localhostDB.properties::db.user = userDB.properties::db.pwd = passwordDB.properties::XYZ = nullDB.xml::db.host = localhostDB.xml::db.user = userDB.xml::db.pwd = passwordDB.xml::XYZ = null End of readPropertyFile Start of readAllKeysDB.properties:: Key=db.user::value=userDB.properties:: Key=db.host::value=localhostDB.properties:: Key=db.pwd::value=passwordDB.xml:: Key=db.user::value=userDB.xml:: Key=db.host::value=localhostDB.xml:: Key=db.pwd::value=password End of readAllKeys Exception in thread "main" java.lang.NullPointerException at java.util.Properties$LineReader.readLine(Properties.java:434) at java.util.Properties.load0(Properties.java:353) at java.util.Properties.load(Properties.java:341) at com.journaldev.util.PropertyFilesUtil.readPropertyFileFromClasspath(PropertyFilesUtil.java:31) at com.journaldev.util.PropertyFilesUtil.main(PropertyFilesUtil.java:21)Hier wird eine Nullzeigerausnahme gemeldet. Der Grund dafür ist, dass die generierte Datei im Stammverzeichnis des Projekts gespeichert und aus dem Klassenpfad gelesen wird . Kopieren Sie die beiden oben generierten Eigenschaftendateien nach src und führen Sie das Programm erneut aus. Wir speichern die Konfigurationsparameter von Java-Anwendungen normalerweise in Eigenschaftendateien. Die Eigenschaftendateien von Java-Anwendungen können eine normale Datei sein, die auf Schlüssel-Wert-Paaren mit Eigenschaften als Erweiterung basiert, oder es kann eine XML-Datei sein. .
In diesem Fall stellen wir vor, wie man Eigenschaftsdateien in diesen beiden Formaten über Java-Programme ausgibt und wie man diese beiden Eigenschaftsdateien aus dem Klassenpfad lädt und verwendet.
Das Folgende ist der Programmcode für den Fall:
PropertyFilesUtil.java
package com.journaldev.util; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; import java.util.Properties; import java.util.Set; public class PropertyFilesUtil { public static void main(String[] args) throws IOException { String propertyFileName = "DB.properties"; String xmlFileName = "DB.xml"; writePropertyFile(propertyFileName, xmlFileName); readPropertyFile(propertyFileName, xmlFileName); readAllKeys(propertyFileName, xmlFileName); readPropertyFileFromClasspath(propertyFileName); } /** * read property file from classpath * @param propertyFileName * @throws IOException */ private static void readPropertyFileFromClasspath(String propertyFileName) throws IOException { Properties prop = new Properties(); prop.load(PropertyFilesUtil.class.getClassLoader().getResourceAsStream(propertyFileName)); System.out.println(propertyFileName +" loaded from Classpath::db.host = "+prop.getProperty("db.host")); System.out.println(propertyFileName +" loaded from Classpath::db.user = "+prop.getProperty("db.user")); System.out.println(propertyFileName +" loaded from Classpath::db.pwd = "+prop.getProperty("db.pwd")); System.out.println(propertyFileName +" loaded from Classpath::XYZ = "+prop.getProperty("XYZ")); } /** * read all the keys from the given property files * @param propertyFileName * @param xmlFileName * @throws IOException */ private static void readAllKeys(String propertyFileName, String xmlFileName) throws IOException { System.out.println("Start of readAllKeys"); Properties prop = new Properties(); FileReader reader = new FileReader(propertyFileName); prop.load(reader); Set<Object> keys= prop.keySet(); for(Object obj : keys){ System.out.println(propertyFileName + ":: Key="+obj.toString()+"::value="+prop.getProperty(obj.toString())); } //loading xml file now, first clear existing properties prop.clear(); InputStream is = new FileInputStream(xmlFileName); prop.loadFromXML(is); keys= prop.keySet(); for(Object obj : keys){ System.out.println(xmlFileName + ":: Key="+obj.toString()+"::value="+prop.getProperty(obj.toString())); } //Now free all the resources is.close(); reader.close(); System.out.println("End of readAllKeys"); } /** * This method reads property files from file system * @param propertyFileName * @param xmlFileName * @throws IOException * @throws FileNotFoundException */ private static void readPropertyFile(String propertyFileName, String xmlFileName) throws FileNotFoundException, IOException { System.out.println("Start of readPropertyFile"); Properties prop = new Properties(); FileReader reader = new FileReader(propertyFileName); prop.load(reader); System.out.println(propertyFileName +"::db.host = "+prop.getProperty("db.host")); System.out.println(propertyFileName +"::db.user = "+prop.getProperty("db.user")); System.out.println(propertyFileName +"::db.pwd = "+prop.getProperty("db.pwd")); System.out.println(propertyFileName +"::XYZ = "+prop.getProperty("XYZ")); //loading xml file now, first clear existing properties prop.clear(); InputStream is = new FileInputStream(xmlFileName); prop.loadFromXML(is); System.out.println(xmlFileName +"::db.host = "+prop.getProperty("db.host")); System.out.println(xmlFileName +"::db.user = "+prop.getProperty("db.user")); System.out.println(xmlFileName +"::db.pwd = "+prop.getProperty("db.pwd")); System.out.println(xmlFileName +"::XYZ = "+prop.getProperty("XYZ")); //Now free all the resources is.close(); reader.close(); System.out.println("End of readPropertyFile"); } /** * This method writes Property files into file system in property file * and xml format * @param fileName * @throws IOException */ private static void writePropertyFile(String propertyFileName, String xmlFileName) throws IOException { System.out.println("Start of writePropertyFile"); Properties prop = new Properties(); prop.setProperty("db.host", "localhost"); prop.setProperty("db.user", "user"); prop.setProperty("db.pwd", "password"); prop.store(new FileWriter(propertyFileName), "DB Config file"); System.out.println(propertyFileName + " written successfully"); prop.storeToXML(new FileOutputStream(xmlFileName), "DB Config XML file"); System.out.println(xmlFileName + " written successfully"); System.out.println("End of writePropertyFile"); } }Wenn dieser Code ausgeführt wird, generiert die Methode writePropertyFile Eigenschaftsdateien in den beiden oben genannten Formaten und speichert die Dateien im Projekt im Stammverzeichnis.
Die beiden von der Methode writePropertyFile generierten Eigenschaftendateiinhalte:
DB.properties
#DB Config file#Fri Nov 16 11:16:37 PST 2012db.user=user db.host=localhost db.pwd=passwordDB.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE properties SYSTEM " <properties><comment>DB Config XML file</comment><entry key="db.user">user</entry><entry key="db.host">localhost</entry> <entry key="db.pwd">password</entry></properties>Es ist zu beachten, dass wir die verwenden Kommentarelement
Der zweite Parameter in diesem Code ist der Kommentarinhalt. Wenn null übergeben wird, enthält die generierte XML-Attributdatei kein Kommentarelement. prop.storeToXML(new FileOutputStream(xmlFileName), "DB Config XML file");
Der Inhalt der Konsolenausgabe lautet wie folgt:
Start of writePropertyFile DB.properties written successfully DB.xml written successfully End of writePropertyFile Start of readPropertyFileDB.properties::db.host = localhostDB.properties::db.user = userDB.properties::db.pwd = passwordDB.properties::XYZ = nullDB.xml::db.host = localhostDB.xml::db.user = userDB.xml::db.pwd = passwordDB.xml::XYZ = null End of readPropertyFile Start of readAllKeysDB.properties:: Key=db.user::value=userDB.properties:: Key=db.host::value=localhostDB.properties:: Key=db.pwd::value=passwordDB.xml:: Key=db.user::value=userDB.xml:: Key=db.host::value=localhostDB.xml:: Key=db.pwd::value=password End of readAllKeys Exception in thread "main" java.lang.NullPointerException at java.util.Properties$LineReader.readLine(Properties.java:434) at java.util.Properties.load0(Properties.java:353) at java.util.Properties.load(Properties.java:341) at com.journaldev.util.PropertyFilesUtil.readPropertyFileFromClasspath(PropertyFilesUtil.java:31) at com.journaldev.util.PropertyFilesUtil.main(PropertyFilesUtil.java:21)Das Obige ist der Inhalt von Java&Xml Tutorial (10) XML als Eigenschaftsdatei. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!

RSS und XML sind Tools für die Verwaltung von Webinhalten. RSS wird verwendet, um Inhalte zu veröffentlichen und zu abonnieren, und XML wird verwendet, um Daten zu speichern und zu übertragen. Sie arbeiten mit Content Publishing, Abonnements und Update Push. Beispiele für die Nutzung sind RSS Publishing -Blog -Beiträge und XML -Speicherbuchinformationen.

RSS-Dokumente sind XML-basierte strukturierte Dateien, die zum Veröffentlichen und Abonnieren von häufig aktualisierten Inhalten verwendet werden. Zu den Hauptfunktionen gehören: 1) automatisierte Inhaltsaktualisierungen, 2) Inhaltsaggregation und 3) Verbesserung der Browsereffizienz. Durch RSSFeed können Benutzer die neuesten Informationen aus verschiedenen Quellen rechtzeitig abonnieren und abrufen.

Die XML -Struktur von RSS umfasst: 1. XML -Deklaration und RSS -Version, 2. Kanal (Kanal), 3. Artikel. Diese Teile bilden die Grundlage von RSS -Dateien, sodass Benutzer Inhaltsinformationen durch Parsen von XML -Daten erhalten und verarbeiten können.

RSSFeedSusexmltosyndicateContent; ParsingtheminvolvesLoadingxml, NavigatingitsStructure, andextractingData.ApplicationsincludeBuildingNewsaggregatorsandTrackingPodcastepisodes.

RSS -Dokumente arbeiten, indem sie Inhaltsaktualisierungen über XML -Dateien veröffentlichen, und Benutzer abonnieren und erhalten Benachrichtigungen über RSS -Leser. 1. Inhaltsverlag erstellt und aktualisiert RSS -Dokumente. 2. Der RSS -Leser zugreift regelmäßig XML -Dateien auf und analysiert. 3. Benutzer durchsuchen und lesen aktualisierte Inhalte. Beispiel für die Nutzung: Abonnieren Sie den RSS -Feed von TechCrunch und kopieren Sie einfach den Link zum RSS -Leser.

Die Schritte zum Erstellen eines RSSFeeds mit XML sind wie folgt: 1. Erstellen Sie das Stammelement und setzen Sie die Version; 2. Fügen Sie das Kanalelement und seine grundlegenden Informationen hinzu; 3. Fügen Sie das Eintragselement hinzu, einschließlich des Titels, des Links und der Beschreibung; 4. Konvertieren Sie die XML -Struktur in eine Zeichenfolge und geben Sie sie aus. Mit diesen Schritten können Sie eine gültige RSSFeed von Grund auf neu erstellen und seine Funktionalität verbessern, indem Sie zusätzliche Elemente wie Erscheinungsdatum und Autoreninformationen hinzufügen.

Die Schritte zum Erstellen eines RSS -Dokuments sind wie folgt: 1. Schreiben Sie im XML -Format mit dem Stammelement, einschließlich der Elemente. 2. Hinzufügen usw. Elemente, um Kanalinformationen zu beschreiben. 3. Fügen Sie Elemente hinzu, die jeweils einen Inhaltseintrag darstellen, einschließlich ,,,,,,,,,. 4. Fügen Sie optional Elemente hinzu, um den Inhalt zu bereichern. 5. Stellen Sie sicher, dass das XML -Format korrekt ist, verwenden Sie Online -Tools, um die Leistung zu optimieren und den Inhalt auf dem neuesten Stand zu halten.

Die Kernrolle von XML in RSS besteht darin, ein standardisiertes und flexibles Datenformat bereitzustellen. 1. Die Struktur- und Markup -Sprachmerkmale von XML machen es für den Datenaustausch und Speicher für den Daten. 2. RSS verwendet XML, um ein standardisiertes Format zu erstellen, um die Inhaltsfreigabe zu erleichtern. 3. Die Anwendung von XML in RSS enthält Elemente, die Futterinhalte wie Titel und Veröffentlichungsdatum definieren. 4. Vorteile umfassen Standardisierung und Skalierbarkeit sowie Herausforderungen umfassen dokumentausführende und strenge Syntaxanforderungen. 5. Zu den Best Practices gehört die Validierung der XML -Gültigkeit, die einfache Haltung, die Verwendung von CDATA und die regelmäßige Aktualisierung.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

MantisBT
Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

SublimeText3 Linux neue Version
SublimeText3 Linux neueste Version

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Herunterladen der Mac-Version des Atom-Editors
Der beliebteste Open-Source-Editor

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)