Ho una singola stringa codificata UTF-8 che è una catena di coppie chiave + valore che è necessario caricare in un oggetto Proprietà. Ho notato che stavo ottenendo caratteri confusi con la mia implementazione iniziale e, dopo un po 'di googling, ho trovato questo Question che indicava qual era il mio problema - fondamentalmente che Proprietà è di default usando ISO-8859-1. Questa implementazione sembravaStringa Java codificata UTF-8 in Proprietà
public Properties load(String propertiesString) {
Properties properties = new Properties();
try {
properties.load(new ByteArrayInputStream(propertiesString.getBytes()));
} catch (IOException e) {
logger.error(ExceptionUtils.getFullStackTrace(e));
}
return properties;
}
Nessuna codifica specificata, quindi il mio problema. Alla mia domanda, non riesco a capire come concatenare/creare una combinazione /InputStream
per passare a Properties.load()
che utilizza lo propertiesString
fornito e specifica la codifica. Penso che ciò sia dovuto principalmente alla mia inesperienza nei flussi di I/O e alla libreria apparentemente vasta di utility IO nel pacchetto java.io.
Qualche consiglio apprezzato.
Questo costruttore non esiste. – BalusC
Grazie, ho eseguito il checkout [StringReader] (http://docs.oracle.com/javase/6/docs/api/java/io/StringReader.html), ma non ho visto tale costruttore. – markdsievers
Cheers Matt, ho appena provato questa soluzione con successo. Inizialmente non ho usato StringReader perché avevo i miei paraocchi alla ricerca del controllo sulla codifica. Grazie mille per il tuo aiuto. Upvote + accetta per te il mio amico. – markdsievers