Mam Java Properties
obiekt, który załadować z in-memory String
, który był poprzednio załadowany do pamięci od rzeczywistego .properties
pliku tak:Właściwości Java obiektu String
this.propertyFilesCache.put(file, FileUtils.fileToString(propFile));
utylizacji o fileToString
faktycznie czyta w tekście z pliku i reszta kodu przechowuje go w HashMap
o nazwie propertyFilesCache
. Później, czytam tekst pliku z HashMap
jako String
i załaduj go w Java Properties
obiektu tak:
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);
W tym momencie mam wymienić moją własność w moim pliku nieruchomości wpuszczony w pamięci i chcę uzyskać tekst z obiektu Properties
tak, jakbym czytał obiekt File
, tak jak zrobiłem to wyżej. Czy istnieje prosty sposób na zrobienie tego lub czy będę musiał powtórzyć właściwości i ręcznie utworzyć String
?
To załatwiło sprawę, dzięki! –
Warto zauważyć, że nie spowoduje to bezpośredniego renderowania właściwości, tzn. Nie można po prostu wyskoczyć tego ciągu do pliku i wczytać go jako plik właściwości. Dzieje się tak dlatego, że metoda ** Properties.list() ** dodaje nagłówek do listy: '- Właściwości aukcji -' Bardziej prawdopodobne jest, że chcesz użyć właściwości ** Properties.store() * * Metoda opisana w komentarzu do komentarza @joev poniżej. –