У меня есть одна строка в кодировке UTF-8, представляющая собой цепочку пар ключ + значение, которую необходимо загрузить в объект Properties. Я заметил, что я получал искаженные символы в своей первоначальной реализации, и после небольшого поиска в Google я нашел этот Вопрос , в котором указывалось, в чем заключалась моя проблема - в основном это то, что Properties по умолчанию использует ISO-8859-1. Эта реализация выглядела как
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;
}
Кодировка не указана, поэтому моя проблема. На мой вопрос, я не могу понять, как связать / создать комбинацию Reader
/ InputStream
, чтобы перейти к Properties.load()
, который использует предоставленную propertiesString
и задает кодировку. Я думаю, что это в основном из-за моей неопытности в потоках ввода-вывода и, казалось бы, обширной библиотеки утилит ввода-вывода в пакете java.io.
Любой совет приветствуется.