Строка Java в кодировке UTF-8 в свойствах

У меня есть одна строка в кодировке UTF-8, которая представляет собой цепочку пар ключ + значение, которую необходимо загрузить в объект Properties. Я заметил, что в моей исходной реализации символы искажались, и после небольшого поиска в Google я нашел этот вопрос , в котором указывалось, в чем была моя проблема - в основном, Свойства по умолчанию используют 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.

Любой совет приветствуется.

11
задан Community 23 May 2017 в 12:08
поделиться