Я хочу читать текстовый файл построчно в приложении, которое выполняется внутри контейнера докера. Файл содержит пути к некоторым другим файлам, и я хочу возиться с ними.
Поскольку файл также считывается программой vb6, его необходимо кодировать в ISO-8859-1.
Когда я читаю файл на моем хосте Docker (Ubuntu 18.04.3), все работает. Но когда я читаю его в моем док-контейнере, специальные символы не читаются должным образом.
Это мой код:
String n = "/foo/bar.txt";
List<String> lines = Files.readAllLines(Paths.get(n),StandardCharsets.ISO_8859_1);
for(String line : lines) {
File[] directories = new File(line).listFiles(File::isDirectory);
}
На моем хост-компьютере directories
правильно заполнено, новнутри docker-контейнера это null
.
Я обнаружил, что проблема заключается в специальном символе ä
. Когда я распечатываю байты, на хост-машине это: -61 -92
, а внутри контейнера - 63
.
Контейнер получен из amazoncoretto: 8,
НадеюсьКто-то может помочь.