Когда я выполняю код, подобный
public static void main(String[] args) throws IOException {
Path path = Paths.get("/home/user/folder/中文.pdf");
}
, я получаю исключение
Exception in thread "main" java.nio.file.InvalidPathException: Malformed input or input contains unmappable characters: /home/user/folder/中文.pdf
at sun.nio.fs.UnixPath.encode(UnixPath.java:147)
at sun.nio.fs.UnixPath.<init>(UnixPath.java:71)
at sun.nio.fs.UnixFileSystem.getPath(UnixFileSystem.java:281)
at java.nio.file.Paths.get(Paths.java:84)
at MyClass.main(MyClass.java:118)
Почему он выбрасывается?Когда я пытаюсь создать файл вручную, в системе все работает хорошо.Я установил все необходимые языковые библиотеки.Вызов $locale -a
в терминале показывает
C
C.UTF-8
POSIX
de_DE.utf8
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IL
en_IL.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8
sv_SE
sv_SE.iso88591
swedish
zh_CN.utf8
zh_HK.utf8
zh_SG.utf8
zh_TW.utf8
Операционная система: Kubuntu 18.04 64-bit;
KDE Plasma Версия: 5.12.6;
Версия ядра: 4.15.0-42-generic;
Java-версия "1.8.0_191"
Java (TM) SE Runtime Environment (сборка 1.8.0_191-b12))
Java HotSpot (TM) 64-битная виртуальная машина сервера (сборка 25.191-b12, смешанный режим)