Есть класс который подтягиват данные из файла css-selector.properties
, но кириллические символы лоомаются превращаясь в иероглифы. Как это исправить?
@Slf4j
@Component
public class SelectorsStore implements Store<String, String> {
@NotNull
private Map<String, String> selectors = Maps.newHashMap();
@Override
public String get(@NotNull String key) {
return selectors.get(key);
}
@PostConstruct
private void fetchProp() {
String path = format("%s/css-selector.properties", new File(".").getAbsolutePath());
Properties properties = new Properties();
try (FileInputStream in = new FileInputStream(path)) {
properties.load(in);
properties.stringPropertyNames().forEach(name -> selectors.put(name, properties.getProperty(name)));
} catch (IOException e) {
log.error("File css-selector.properties not found", e);
}
}
}
Если у Spring
есть способ сделать это короче, на подобии @Value
, только вытянуть сразу всю Map<String, String>
разом, то буду признателен за подсказку.
Property-файлы могут содержать только символы латиницы. Поэтому любые другие символы должны быть преобразованы в формат Unicode Escape Sequences. Для этого файл с кириллицей надо перед использованием обработать с помощью утилиты native2ascii.
Если вам нужна кириллица в properties файлах, рекомендую вам рассмотреть вопрос о переходе на XML формат, см. java.util.Properties. Обычные properties файлы, как уже ответили выше, кириллицу содержать не должны... не по ГОСТУ :)
Виртуальный выделенный сервер (VDS) становится отличным выбором
Мне показали приложение в App Store в котором реклама показывается даже в авиарежиме, причём каждый раз разная (речь о Rewarded Video и Interstitial)Как это...