Maison  >  Article  >  Java  >  Quatre façons d'obtenir le contenu du fichier Propriétés en Java

Quatre façons d'obtenir le contenu du fichier Propriétés en Java

黄舟
黄舟original
2017-05-15 09:39:582375parcourir

Cet article présente principalement plusieurs façons de lire les fichiers de configuration de propriétés en Java. L'éditeur pense que c'est plutôt bon, je vais donc le partager avec vous maintenant et le donner comme référence. Suivons l'éditeur et jetons un œil.

Je pense qu'un développeur JAVA doit être très familier avec le fichier de propriétés. Par exemple, la configuration :

  1. config. propriétés Il stocke souvent certaines constantes système, numéros de version, chemins, etc.

  2. database.properties stocke les paramètres de connexion de la base de données

  3. log4j .properties log Quelques configurations de base de

  4. redis.properties Quelques configurations de la base de données cache

Bien sûr, le préfixe est ​​défini en fonction de l'utilisation, généralement Par exemple, le contenu du fichier est au format "clé=valeur", et le texte annotation les informations peuvent être annotées avec "#". lire et écrire le fichier de configuration des propriétés pendant le développement.

Java lit le fichier de propriétés

La classe Propriétés lit

La classe Propriétés hérite de Hashtable implémente l'interface Map et utilise également un formulaire de paire clé-valeur pour enregistrer l'ensemble attribut. Cependant, Properties a une fonctionnalité particulière, c'est-à-dire que ses clés et ses valeurs sont toutes deux de type string .

//方式一
InputStream in = new BufferedInputStream(new FileInputStream("文件路径名"));
Properties p = new Properties();
p.load(in);
System.out.println(p.getProperty("version"));
//方式二
InputStream ins = PropertiesUtil.class.getResourceAsStream("文件路径名");
Properties ps = new Properties();
ps.load(ins);
System.out.println(ps.getProperty("version"));
//方式三
InputStream inss = PropertiesUtil.class.getClassLoader().getResourceAsStream("文件名");
Properties pss = new Properties();
pss.load(inss);
System.out.println(pss.getProperty("version"));
//方式四
InputStream insss = ClassLoader.getSystemResourceAsStream("文件名");
Properties psss = new Properties();
psss.load(insss);
System.out.println(pss.getProperty("version"));

Méthode de lecture ResourceBundle

Cette classe fournit un raccourci pour l'internationalisation des logiciels. Cette classe permet aux programmes sur lesquels vous écrivez :

  1. Facilement localisés ou traduits dans différentes langues

  2. Traitement de plusieurs processus à la fois Chaque locale

  3. peut être facilement modifié ultérieurement pour prendre en charge plus de paramètres régionaux

Pour faire simple, la fonction de cette classe est Lire le fichier de propriétés de la ressource (propriétés), puis faites correspondre les informations de langue nationale du système actuel (peut également être spécifiée par le programme) en fonction des informations de nom (informations de localisation) du fichier .properties, puis obtenez le contenu du fichier de propriétés correspondant.

Lors de l'utilisation de cette classe, une chose à noter est que le nom de ce fichier de propriétés est standardisé : la convention de dénomination générale est : Nom personnalisé code de langue code pays.properties, si c'est la valeur par défaut, écrivez directement Pour : Nom personnalisé.properties


Par exemple :

  1. myres_en_US.properties

  2. myres_zh_CN.properties

  3. myres.properties

//方式五
ResourceBundle rb = ResourceBundle.getBundle("文件名前缀", Locale.getDefault());
System.out.println(rb.getObject("version"));
//方式六
InputStream is = new BufferedInputStream(new FileInputStream("文件名前缀"));
ResourceBundle rbs = new PropertyResourceBundle(is);
System.out.println(rbs.getObject("version"));
La méthode de lecture ResourceBundle est relativement pratique, mais si vous regardez attentivement le code source, vous verrez que le ResourceBundle sera lu une fois mis en cache par le système.

Dans un environnement de production, si l'on souhaite modifier dynamiquement certains paramètres de propriétés, il faut redémarrer le serveur si l'on utilise la méthode de lecture ResourceBundle.

【Recommandations associées】

1.

Recommandation spéciale : Téléchargez la version V0.1 de "php Programmer Toolbox"

2.

Tutoriels vidéo Java gratuits

3

Analyse complète des annotations Java

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!

Déclaration:
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