无法使用 JAR 打开带有变音符号的文件 (chcp 65001/1252) - JAVA
Unable to open File with Umlauts (chcp 65001/1252) with JAR - JAVA
我有一个包含变音符号 (erklärung1.txt) 的文件,我需要使用我的 JAR 文件对其进行处理。
我在 IntelliJ 中实现了我的代码,当我从那里 运行 它时,它可以毫无问题地找到并打开文件。
当我从 Windows 上的命令行 运行 时出现问题,因为我需要 运行 它作为 JAR 文件。我使用了 chcp 1252
命令,它没有正确识别变音符号。然后,我使用了 chcp 65001
命令,这个命令确实识别了变音符号,但不幸的是我仍然无法找到该文件,不知道为什么 - 因为控制台正确打印出路径。
这是我的代码:
String pathOne = "C:\Users\takibu\Desktop\Erklärungen\erklärung1.txt";
File pathFile = new File(pathOne);
if(pathFile.exists()) {
System.out.println("It exists!");
} else {
System.out.println("Path does not exist: " + pathOne);
}
这里是 chcp 65001
的输出:
我想知道,现在已经搜索了一段时间,不幸的是没有任何运气,有没有办法从 JAR 和控制台中找到并打开包含变音符号的文件?让我感到困惑的部分 - 如您所见,路径在控制台中使用 chcp 65001
正确打印出来 - 但仍然找不到,尽管它在那里?
任何帮助将不胜感激!!
PS:使用命令 chcp 1252
,我得到以下输出:Erklärungen\erklärung1.txt
更新;我通过 运行
解决了
java -Dfile.encoding=UTF-8 -jar jarfile
这里的关键是-Dfile.encoding=UTF-8
我有一个包含变音符号 (erklärung1.txt) 的文件,我需要使用我的 JAR 文件对其进行处理。
我在 IntelliJ 中实现了我的代码,当我从那里 运行 它时,它可以毫无问题地找到并打开文件。
当我从 Windows 上的命令行 运行 时出现问题,因为我需要 运行 它作为 JAR 文件。我使用了 chcp 1252
命令,它没有正确识别变音符号。然后,我使用了 chcp 65001
命令,这个命令确实识别了变音符号,但不幸的是我仍然无法找到该文件,不知道为什么 - 因为控制台正确打印出路径。
这是我的代码:
String pathOne = "C:\Users\takibu\Desktop\Erklärungen\erklärung1.txt";
File pathFile = new File(pathOne);
if(pathFile.exists()) {
System.out.println("It exists!");
} else {
System.out.println("Path does not exist: " + pathOne);
}
这里是 chcp 65001
的输出:
我想知道,现在已经搜索了一段时间,不幸的是没有任何运气,有没有办法从 JAR 和控制台中找到并打开包含变音符号的文件?让我感到困惑的部分 - 如您所见,路径在控制台中使用 chcp 65001
正确打印出来 - 但仍然找不到,尽管它在那里?
任何帮助将不胜感激!!
PS:使用命令 chcp 1252
,我得到以下输出:Erklärungen\erklärung1.txt
更新;我通过 运行
解决了java -Dfile.encoding=UTF-8 -jar jarfile
这里的关键是-Dfile.encoding=UTF-8