Приветствую всех!
Подскажите, как получить правильный путь файла? Передаю в аргументах ссылку на файл с таким именем:
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
Как и писалось выше проблема заключается в кодировке консоли, а не в самом приложении.
Для того, чтобы корректно поменять кодировки консоли часто хватает выполнить chcp команду, например, для UTF8 - это chcp 65001. Но в Вашем конкретном случае этого буде недостаточно. По сути Вам необходима кодировка 936. Однако если Вы выполните команду chcp 936 Вы увидите сообщение Invalide code page. Чтобы избавиться от этого, Вам необходимо поменять регион. Для этого сделайте следующие шаги:
Это не приведен к изменению интерфейса всей операционной системы.
После этого при запуске команды chcp вывод будет Active code page: 936. Теперь Вы можете запускать свое приложение - результат будет true:
Вроде это как раз то, что Вы ищите.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости