Кодировка пути файла

241
07 сентября 2017, 16:53

Приветствую всех!

Подскажите, как получить правильный путь файла? Передаю в аргументах ссылку на файл с таким именем:

GovHK 香港政府一站通:Homepage (Residents).webloc

А вместо имени получаю следующее:

GovHK ???????:Homepage (Residents).webloc

Соответственно file.exists(); выводит false;

На сколько я нарыл в интернете, это ISO-8859-10 и Java не поддерживает ее. Готовое решение по декодированию строки не нашел, так что обращаюсь к Вам.

Заранее спасибо!

UPD Состряпал простой эквивалент кода:

public class Test {
    public static void main(String[] args) {
        if (args.length > 0) {
            File file = new File(args[0]);
            System.out.println("Exists: " + file.exists());
        }
    }
}

А файл залил вот сюда: file

Answer 1

Как и писалось выше проблема заключается в кодировке консоли, а не в самом приложении. Для того, чтобы корректно поменять кодировки консоли часто хватает выполнить chcp команду, например, для UTF8 - это chcp 65001. Но в Вашем конкретном случае этого буде недостаточно. По сути Вам необходима кодировка 936. Однако если Вы выполните команду chcp 936 Вы увидите сообщение Invalide code page. Чтобы избавиться от этого, Вам необходимо поменять регион. Для этого сделайте следующие шаги:

  1. Пуск - Панель управления
  2. Выбираем "Region and Language"
  3. Далее переходим на вкладку "Administrative" и выбираем "Change system locale"
  4. В выпадающем списке выбираем "Chinese (Simplified, RPC)"
  5. Перезагружаем компьютер

Это не приведен к изменению интерфейса всей операционной системы.

После этого при запуске команды chcp вывод будет Active code page: 936. Теперь Вы можете запускать свое приложение - результат будет true:

Вроде это как раз то, что Вы ищите.

READ ALSO
Вывод данных из БД при загрузке JSP

Вывод данных из БД при загрузке JSP

Мне нужно, чтобы в начальной loginjsp,

223
Чтение и работа с текстовым файлом

Чтение и работа с текстовым файлом

Ну как вариант задай словарь в проге со значениями

206
Обновление Gui в JavaApplet

Обновление Gui в JavaApplet

Здравствуйте,стоит задача реализовать java Applet c поддержкой чтения NFC и дальнейшей передачи параметров считанной смарт карты на сервер(Json)Проблема...

275
Кнопки у телеграм-бота

Кнопки у телеграм-бота

Всем привет! Начал понемногу осваивать ботов в телеграмеЗнаю немного Java

491