Maison > Java > javaDidacticiel > le corps du texte

Une brève introduction aux propriétés en Java

黄舟
Libérer: 2017-05-28 09:21:40
original
1993 Les gens l'ont consulté

Il existe une classe Properties (Java.util.Properties) relativement importante en Java, qui est principalement utilisée pour lire le fichier de configuration de Java. Chaque langage a ses propres fichiers de configuration pris en charge et de nombreux <.> les variables sont fréquemment modifiées. Ceci est également fait pour la commodité des utilisateurs, permettant aux utilisateurs de modifier les paramètres des variables associées sans le programme lui-même

Classe de propriétés dans l'opération Java <.> Si vous apprenez des connaissances sans les utiliser, cela ne sert à rien. Vous devrez tout réapprendre lorsque vous les utiliserez réellement. Récemment, j'ai examiné le code source de plusieurs simulateurs open source, qui impliquaient de nombreuses

références

sur la classe Properties. Comme Java n'a pas été utilisé depuis longtemps, la plupart de ces simulateurs sont écrits en Java. , ainsi que quelques langages de scriptPython,Perl et autres, je dois les reprendre en dernier recours.

1. Classe Propriétés Java Il existe une classe Propriétés plus importante (Java.util.Properties) en Java, qui est principalement utilisée pour la lecture En prenant le fichier de configuration Java, chaque langage a son propre fichier de configuration pris en charge. De nombreuses variables du fichier de configuration sont fréquemment modifiées. Ceci est également pour la commodité des utilisateurs, permettant aux utilisateurs de modifier les paramètres des variables associées sans quitter le programme lui-même. Le fichier de configuration pris en charge par Python est le fichier .ini. De même, il possède également sa propre classe ConfigParse pour lire le fichier de configuration, ce qui permet aux programmeurs ou aux utilisateurs de modifier le fichier de configuration .ini via cette méthode de classe. En Java, son fichier de configuration est souvent un fichier .properties au format d'un fichier texte. Le contenu du fichier est au format "key=value". Le texte

annotation

peut être annoté avec. "#". La Classe Propriétés hérite de la table

Hash

, comme suit :

qui fournit Il existe plusieurs méthodes principales :

1. getProperty (String

key

), recherche dans cette liste property une propriété à l'aide de la clé spécifiée. Autrement dit, grâce au paramètre key, la valeur correspondant à key est obtenue. 2. load (InputStream inStream), lit une liste de propriétés (paires de clés et d'éléments) à partir du flux d'entrée. Obtenez toutes les paires clé-valeur dans un fichier spécifié (par exemple le fichier test.properties ci-dessus) en le chargeant. Pour getProperty (clé de chaîne) à rechercher. 3. set

Property (String key, String value), appelez la méthode Hashtable put. Il définit les paires clé-valeur en appelant la méthode put de la classe de base.

4. store (OutputStream out, String comments), écrit une liste de propriétés (paires de clés et d'éléments) de cette table Propriétés dans le flux de sortie dans un format adapté au chargement dans la table Propriétés à l'aide de la méthode de chargement. Contrairement à la méthode de chargement, cette méthode écrit des paires clé-valeur dans le fichier spécifié.

5. clear

(), efface toutes les paires clé-valeur chargées. Cette méthode est fournie dans la classe de base.

2. Java lit les fichiers de propriétés

Il existe de nombreuses façons de lire les fichiers de propriétés en Java, mais la plus couramment utilisée. se fait via la méthode java .lang.Class

get

ResourceAsStream(String name) à implémenter, comme suit : ou The Les éléments suivants sont également couramment utilisés :

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

3. Exemples connexes

InputStream in = new BufferedInputStream(new FileInputStream(filepath));
Copier après la connexion

Voici plusieurs exemples pour approfondir la compréhension de la classe Properties. et la mémoire. Nous savons que la machine virtuelle Java (JVM) possède son propre fichier de configuration système (system.properties), que nous pouvons obtenir via la méthode suivante.

1. Obtenez les propriétés système de la JVM

Résultat :

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


2. Créez simplement un nouveau fichier de configuration (Test.properties)

3. Un exemple plus complet

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);
   }
  }
 }
Copier après la connexion
Lire la valeur en fonction de la clé.

Lire toutes les informations sur les propriétés

Écrire de nouvelles informations sur la propriété

 //关于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");
  }
 }
Copier après la connexion

结果:

Test.properties中文件的数据为:

#Update long name
#Sun Feb 23 18:17:16 CST 2016
name=JJ
Weight=4444
long=212
Height=3333
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!