J'ai un objet Java Properties
que je charge d'un en mémoire String
, qui a déjà été chargé dans la mémoire à partir du fichier .properties
réel comme celui-ci:objet Java Propriétés à chaîne
this.propertyFilesCache.put(file, FileUtils.fileToString(propFile));
Le util fileToString
lit en fait dans le texte du fichier et le reste du code stocke dans un HashMap
appelé propertyFilesCache
. Plus tard, je lis le texte de fichier à partir du HashMap
comme String
et le recharger dans un objet Java Properties
comme ceci:
String propFileStr = this.propertyFilesCache.get(fileName);
Properties tempProps = new Properties();
try {
tempProps.load(new ByteArrayInputStream(propFileStr.getBytes()));
} catch (Exception e) {
log.debug(e.getMessage());
}
tempProps.setProperty(prop, propVal);
À ce stade, je l'ai remplacé ma propriété dans mon dossier de propriété en mémoire et je Je veux obtenir le texte de l'objet Properties
comme si je lisais un objet File
comme je l'ai fait ci-dessus. Existe-t-il un moyen simple de le faire ou vais-je devoir itérer sur les propriétés et créer le String
manuellement?
Ce fait le tour, merci! –
Il est à noter que ceci ne vous donnera pas un rendu rectiligne des propriétés, c'est-à-dire que vous ne pouvez pas simplement sortir cette chaîne dans un fichier et la recharger en tant que fichier de propriétés. En effet, que ** Properties.list() ** méthode prepends un en-tête sur la liste: '- propriétés liste --' Plus probable que vous voudriez utiliser le ** Properties.store() * * méthode décrite dans le commentaire de commentaire @joev ci-dessous. –