Например, нужный мне файл находится по этому пути, и он будет передан в качестве аргумента:
"C:\Users\user.name\docs\jap\あああいいいうううえええおおおダウンロード\filename.txt"
Я использовал этот код для декодирования символов:
String new_path = new String(args[0].getBytes("Shift_JIS"), StandardCharsets.UTF_8);
System.out.println(new_path);
Однако на выходе получается:
C:\Users\user.name\docs\jap\あああい�?�?�?�?�?えええおおお�?ウンロード\filename.txt
Некоторые символы не декодированы должным образом. Я уже изменил кодировку текста и кодировку консоли на UTF-8, но это все равно не сработало.
Но если бы я просто печатал его регулярно, он отображался нормально.
System.out.println("C:\\Users\\user.name\\docs\\jap\\あああいいいうううえええおおおダウンロード\\filename.txt");
который отображает:
C:\Users\user.name\docs\jap\あああいいいうううえええおおおダウンロード\filename.txt
Подскажите, пожалуйста, как читать других персонажей, это действительно будет большим подспорьем. Спасибо!
String path = "C:\\Users\\user.name\\docs\\jap\\あああいいいうううえええおおおダウンロード\filename.txt"; String new_path = new String(path.getBytes(), StandardCharsets.UTF_8);
- person Doctor Who   schedule 18.01.2019String new_path = args[0];
должно хватить, преобразование кодировки платформы в java String (всегда Unicode) уже выполнено.System.out.println
преобразует Unicode String в кодировку платформы. - person Joop Eggen   schedule 18.01.2019new_path
- ›newPath
) - person Lino   schedule 18.01.2019