Tengo un Properties
objeto Java que me carga de una en memoria String
, que se ha cargado previamente en la memoria desde el archivo real .properties
así:propiedades Java oponerse a cadena
this.propertyFilesCache.put(file, FileUtils.fileToString(propFile));
El util fileToString
lee realidad en el texto del archivo y el resto del código lo almacena en un HashMap
llamado propertyFilesCache
. Más tarde, leí el texto del archivo de la HashMap
como String
y volver a cargar en un objeto Java Properties
así:
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);
En este punto, he reemplazado mi propiedad en mi archivo de propiedades en memoria y yo quiero obtener el texto del objeto Properties
como si estuviera leyendo un objeto File
como lo hice arriba. ¿Hay una manera simple de hacer esto o voy a tener que iterar sobre las propiedades y crear el String
manualmente?
Esto hizo el truco, gracias! –
Vale la pena señalar que esto no le proporcionará una representación directa de las propiedades, es decir, no puede simplemente colocar esa cadena en un archivo y volver a cargarla como un archivo de propiedades. Esto se debe a que el método ** Properties.list() ** antepone un encabezado a la lista: '- listing properties --' Es más probable que desee utilizar ** Properties.store() * * método descrito en el comentario del comentario @joev a continuación. –