Qu'est-ce que le format de fichier PROPERTIES ?
Les fichiers avec l'extension .properties sont utilisés par la technologie Java pour stocker des propriétés et des paramètres d'application configurables. Ils peuvent également inclure des chaînes pour l'internationalisation et la localisation, ce qui en fait un format standard pour les bundles de messages i18n dans les applications Java et les frameworks tels que Spring.
Chaque ligne d'un fichier .properties contient un seul paramètre. Chaque paramètre est stocké sous la forme d'une paire de chaînes - la première contient le nom du paramètre (appelé une clé) et la seconde contient sa valeur. Les clés et les valeurs sont séparées par =, :, ou un espace blanc. Les lignes commençant par # ou ! sont traitées comme des commentaires et ignorées par l'analyseur. Une barre oblique inverse finale (\) à la fin d'une ligne permet de continuer la valeur sur la ligne suivante.
Par défaut, les fichiers .properties sont encodés en ISO-8859-1 (Latin-1). Les caractères non-latins doivent être écrits sous forme de séquences d'échappement Unicode \uXXXX - contrairement aux fichiers YAML ou aux fichiers XML, qui supportent nativement l'UTF-8. Java 9 a introduit la prise en charge du chargement des fichiers .properties en UTF-8 lorsqu'un jeu de caractères explicite est fourni.
Édition des fichiers .properties
Les fichiers .properties peuvent être librement modifiés avec n'importe quel éditeur de texte. Cependant, des outils plus avancés pour l'édition de fichiers sont également disponibles, équipés de fonctions supplémentaires non prises en charge par les éditeurs de texte classiques. L'utilisation de ces outils permet :
- la validation des données
- la création de nouvelles clés
- la synchronisation des noms de clés entre les fichiers de langue
- la conversion automatique bidirectionnelle des symboles non-ASCII vers et depuis les échappements
\uXXXX - l'intégration avec Eclipse
Informations additionnelles
L'accès aux fichiers .properties dans les applications Java se fait via la classe java.util.Properties. Ils sont généralement regroupés en tant que ressources du classpath à l'intérieur d'archives JAR ou WAR et chargés au moment de l'exécution - il n'y a pas de répertoire par défaut fixe pour eux. Le format .ini joue un rôle similaire dans les environnements non-Java, tandis que les fichiers .env sont couramment utilisés dans les déploiements conteneurisés modernes.
Sécurité et sûreté
RISQUE : LOWUn fichier .properties est en texte brut et ne peut pas exécuter de code, son ouverture est donc sûre. Deux points de vigilance : (1) ils contiennent fréquemment des secrets - mots de passe de base de données, clés API, chaînes de connexion - ne les collez donc pas dans des outils en ligne non fiables et ne les validez pas dans des dépôts publics. (2) Risque d'édition : une faute de frappe, un mauvais encodage (enregistrer en UTF-8 là où l'ISO-8859-1 est attendu peut altérer les accents) ou un caractère parasite peut empêcher l'application Java de démarrer. Sauvegardez toujours l'original avant de modifier une valeur.
Détails du format
en brefProgrammes qui ouvrent les fichiers PROPERTIES
Détails techniques
spécifications approfondies| Encodage par défaut | ISO-8859-1 (Latin-1) |
| Support UTF-8 | Disponible depuis Java 9+ via un argument de jeu de caractères explicite dans Properties.load() |
| Caractères non-ASCII | Doivent être représentés par des séquences d'échappement Unicode \uXXXX lors de l'utilisation de l'encodage ISO-8859-1 |
| Séparateur clé-valeur | =, :, ou un espace blanc non échappé - la première occurrence sépare la clé de la valeur |
| Syntaxe des commentaires | # ou ! au début d'une ligne |
| Continuation de ligne | Un \ final joint la ligne suivante à la valeur actuelle ; les espaces blancs de début sur la ligne de continuation sont supprimés |
| Suppression des espaces | Les espaces blancs avant les clés et entre le séparateur et la valeur sont automatiquement supprimés |
| Comportement des clés dupliquées | Autorisé par l'analyseur ; la dernière définition écrase silencieusement les précédentes |
| Classe API Java | java.util.Properties |
| Type MIME | text/plain |
| Octets magiques / signature | Aucun - texte brut sans en-tête binaire ; identifié par l'extension de fichier et la structure de ligne clé=valeur |
| Séquences d'échappement supportées | \n, \t, \r, \\, \ (espace échappé dans les clés/valeurs), \uXXXX |
| Développeur / mainteneur | Sun Microsystems / Oracle (fait partie de la plateforme Java) |
| Déploiement courant | Inclus comme ressources de classpath dans les archives JAR ou WAR ; chargé à l'exécution via getResourceAsStream() |
| Adoption par l'écosystème | Utilisé par Java SE, Spring Framework, Android (hérité), Apache Ant, Maven et de nombreux outils tiers |
| Publié | 1996 (Java 1.0, java.util.Properties) |
| Standard ouvert | Oui · libre de droits |
| Spécification | docs.oracle.com |
Conversions PROPERTIES
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers PROPERTIES.