Heim  >  Artikel  >  Java  >  Eine kurze Einführung in Eigenschaften in Java

Eine kurze Einführung in Eigenschaften in Java

黄舟
黄舟Original
2017-05-28 09:21:401996Durchsuche

Es gibt eine relativ wichtige Klasse Properties (Java.util.Properties), die hauptsächlich zum Lesen der Konfigurationsdatei von Java verwendet wird. Jede Sprache verfügt über ihre eigenen unterstützten Konfigurationsdateien und viele Variablen werden häufig geändert, um den Benutzern die Möglichkeit zu geben, zugehörige Variableneinstellungen zu ändern

Properties-Klasse in Java Operation

Wenn Sie Wissen lernen, ohne es zu nutzen, ist es nutzlos. Sie müssen es noch einmal lernen, wenn Sie es tatsächlich nutzen. Kürzlich habe ich mir den Quellcode mehrerer Open-Source-Simulatoren angesehen, der viele Referenzen über die Properties-Klasse enthielt. Da Java schon lange nicht mehr verwendet wird, sind die meisten dieser Simulatoren in Java geschrieben , plus einige SkriptsprachenPython,Perl und dergleichen, ich muss sie als letzten Ausweg wieder in die Hand nehmen.

1. Java Properties-Klasse

In Java gibt es eine wichtigere Klasse Properties (Java.util.Properties), die hauptsächlich verwendet wird Zum Lesen der Java-Konfigurationsdatei verfügt jede Sprache über eine eigene unterstützte Konfigurationsdatei. Dies dient auch der Benutzerfreundlichkeit, sodass Benutzer die zugehörigen Variableneinstellungen ändern können, ohne das Programm selbst zu verlassen. Die von Python unterstützte Konfigurationsdatei ist die INI-Datei. Ebenso verfügt es über eine eigene Klasse ConfigParse zum Lesen der Konfigurationsdatei, die für Programmierer oder Benutzer praktisch ist, um die INI-Konfigurationsdatei über diese Klassenmethode zu ändern. In Java ist die Konfigurationsdatei häufig eine .properties-Datei im Format einer Textdatei. Der Inhalt der Datei hat das Format „Schlüssel=Wert“. Die Textinformationen können mit Anmerkungen versehen werden „#“. Eigenschaftenklasse erbt

von der

HashTabelle wie folgt:

which Es gibt mehrere Hauptmethoden:

1. getProperty (String

key), durchsucht diese property-Liste nach einer -Eigenschaft unter Verwendung des angegebenen Schlüssels. Das heißt, über den Parameterschlüssel wird der dem Schlüssel entsprechende Wert erhalten. 2. Load (InputStream inStream) liest eine Liste von Eigenschaften (Schlüssel- und Elementpaare) aus dem Eingabestream. Rufen Sie alle Schlüssel-Wert-Paare in einer bestimmten Datei ab (z. B. der Datei test.properties oben), indem Sie sie laden. Nach getProperty (String-Schlüssel) zum Suchen. 3.

set

Eigenschaft (String-Schlüssel, String-Wert), rufen Sie die Hashtable-Methode put auf. Es legt die Schlüssel-Wert-Paare fest, indem es die Put-Methode der Basisklasse aufruft.

4. store (OutputStream out, String comments) schreibt eine Liste von Eigenschaften (Schlüssel- und Elementpaare) aus dieser Properties-Tabelle in den Ausgabestream in einem Format, das zum Laden in die Properties-Tabelle mithilfe der Load-Methode geeignet ist. Im Gegensatz zur Load-Methode schreibt diese Methode Schlüssel-Wert-Paare in die angegebene Datei. 5.

clear

(), löscht alle geladenen Schlüssel-Wert-Paare. Diese Methode wird in der Basisklasse bereitgestellt.


2. Java liest Eigenschaftendateien

Es gibt viele Möglichkeiten, Eigenschaftendateien in Java zu lesen, aber die am häufigsten verwendete ist durch Java .lang.

Class

getResourceAsStream(String name) Methode zur Implementierung wie folgt: oder The Folgendes wird ebenfalls häufig verwendet:

InputStream in = getClass().getResourceAsStream("资源Name");作为我们写程序的,用此一种足够。

3. Verwandte Beispiele
InputStream in = new BufferedInputStream(new FileInputStream(filepath));

Im Folgenden finden Sie einige Beispiele, um das Verständnis der Properties-Klasse zu vertiefen und Erinnerung. Wir wissen, dass die Java Virtual Machine (JVM) über eine eigene Systemkonfigurationsdatei (system.properties) verfügt, die wir mit der folgenden Methode erhalten können.

1. Rufen Sie die Systemeigenschaften von JVM ab

Ergebnis:

 import java.util.Properties;
 public class ReadJVM {
  public static void main(String[] args) {
   Properties pps = System.getProperties();
   pps.list(System.out);
  }
 }


2. Erstellen Sie einfach eine neue Konfigurationsdatei (Test.properties)

3. Ein umfassenderes Beispiel

name=JJ
Weight=4444
Height=3333
 
 public class getProperties {
  public static void main(String[] args) throws FileNotFoundException, IOException {
   Properties pps = new Properties();
   pps.load(new FileInputStream("Test.properties"));
   Enumeration enum1 = pps.propertyNames();//得到配置文件的名字
   while(enum1.hasMoreElements()) {
    String strKey = (String) enum1.nextElement();
    String strValue = pps.getProperty(strKey);
    System.out.println(strKey + "=" + strValue);
   }
  }
 }

Wert nach Schlüssel lesen Alle Immobilieninformationen lesen

Neue Immobilieninformationen schreiben

 //关于Properties类常用的操作
 public class TestProperties {
  //根据Key读取Value
  public static String GetValueByKey(String filePath, String key) {
   Properties pps = new Properties();
   try {
    InputStream in = new BufferedInputStream (new FileInputStream(filePath)); 
    pps.load(in);
    String value = pps.getProperty(key);
    System.out.println(key + " = " + value);
    return value;
    
   }catch (IOException e) {
    e.printStackTrace();
    return null;
   }
  }
  
  //读取Properties的全部信息
  public static void GetAllProperties(String filePath) throws IOException {
   Properties pps = new Properties();
   InputStream in = new BufferedInputStream(new FileInputStream(filePath));
   pps.load(in);
   Enumeration en = pps.propertyNames(); //得到配置文件的名字
   
   while(en.hasMoreElements()) {
    String strKey = (String) en.nextElement();
    String strValue = pps.getProperty(strKey);
    System.out.println(strKey + "=" + strValue);
   }
   
  }
  
  //写入Properties信息
  public static void WriteProperties (String filePath, String pKey, String pValue) throws IOException {
   Properties pps = new Properties();
   
   InputStream in = new FileInputStream(filePath);
   //从输入流中读取属性列表(键和元素对) 
   pps.load(in);
   //调用 Hashtable 的方法 put。使用 getProperty 方法提供并行性。 
   //强制要求为属性的键和值使用字符串。返回值是 Hashtable 调用 put 的结果。
   OutputStream out = new FileOutputStream(filePath);
   pps.setProperty(pKey, pValue);
   //以适合使用 load 方法加载到 Properties 表中的格式, 
   //将此 Properties 表中的属性列表(键和元素对)写入输出流 
   pps.store(out, "Update " + pKey + " name");
  }
  
  public static void main(String [] args) throws IOException{
   //String value = GetValueByKey("Test.properties", "name");
   //System.out.println(value);
   //GetAllProperties("Test.properties");
   WriteProperties("Test.properties","long", "212");
  }
 }

结果:

Test.properties中文件的数据为:

#Update long name
#Sun Feb 23 18:17:16 CST 2016
name=JJ
Weight=4444
long=212
Height=3333

Das obige ist der detaillierte Inhalt vonEine kurze Einführung in Eigenschaften in Java. 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