Looking for java Keywords? Try Ask4Keywords

Java LanguageClasse de propriétés


Introduction

L'objet properties contient une paire clé et valeur sous forme de chaîne. La classe java.util.Properties est la sous-classe de Hashtable.

Il peut être utilisé pour obtenir une valeur de propriété basée sur la clé de propriété. La classe Properties fournit des méthodes pour extraire des données du fichier de propriétés et stocker des données dans un fichier de propriétés. De plus, il peut être utilisé pour obtenir les propriétés du système.

Avantage du fichier de propriétés

La recompilation n'est pas requise si les informations sont modifiées à partir du fichier de propriétés: Si des informations sont modifiées à partir de

Syntaxe

  • Dans un fichier de propriétés:
  • clé = valeur
  • #commentaire

Remarques

Un objet Propriétés est une carte dont les clés et les valeurs sont des chaînes par convention. Bien que les méthodes de Map puissent être utilisées pour accéder aux données, les méthodes plus sûres getProperty , setProperty et stringPropertyNames sont généralement utilisées à la place.

Les propriétés sont fréquemment stockées dans des fichiers de propriétés Java, qui sont de simples fichiers texte. Leur format est documenté en détail dans la méthode Properties.load . En résumé:

  • Chaque paire clé / valeur est une ligne de texte avec un espace, est égale à ( = ) ou deux points ( : ) entre la clé et la valeur. Les égaux ou deux-points peuvent avoir n'importe quelle quantité d'espaces avant et après, ce qui est ignoré.
  • Les espaces blancs sont toujours ignorés, les espaces à la fin sont toujours inclus.
  • Une barre oblique inverse peut être utilisée pour échapper à n'importe quel caractère (sauf les minuscules u ).
  • Une barre oblique inverse à la fin de la ligne indique que la ligne suivante est une continuation de la ligne en cours. Cependant, comme pour toutes les lignes, les espaces blancs dans la ligne de continuation sont ignorés.
  • Tout comme dans le code source Java, \u suivi de quatre chiffres hexadécimaux représente un caractère UTF-16.

La plupart des frameworks, y compris les propres installations de Java SE telles que java.util.ResourceBundle, chargent les fichiers de propriétés en tant que InputStreams. Lors du chargement d'un fichier de propriétés à partir d'un InputStream, ce fichier ne peut contenir que des caractères ISO 8859-1 (c'est-à-dire des caractères compris entre 0 et 255). Tout autre caractère doit être représenté comme \u s'échappe. Cependant, vous pouvez écrire un fichier texte dans n'importe quel encodage et utiliser l'outil native2ascii (fourni avec chaque JDK) pour le faire.

Si vous chargez un fichier de propriétés avec votre propre code, il peut s'agir d'un encodage quelconque, à condition que vous créiez un Reader (tel qu'un InputStreamReader ) basé sur le Charset correspondant. Vous pouvez ensuite charger le fichier en utilisant load (Reader) au lieu de la méthode de chargement héritée (InputStream).

Vous pouvez également stocker des propriétés dans un simple fichier XML, ce qui permet au fichier lui-même de définir le codage. Un tel fichier peut être chargé avec la méthode loadFromXML . La DTD décrivant la structure de ces fichiers XML se trouve à l' adresse http://java.sun.com/dtd/properties.dtd .

Classe de propriétés Exemples Liés