我正在尝试运行Java应用程序(我没有源代码)来读取文件并处理它们。不幸的是,它无法处理以UTF-8编码的文件。
使用JD我看到函数Files.readAllLines
失败并出现UnmappableCharacterException。虽然可以为函数提供Charset,但由于我没有应用程序的源代码,我无法更改它。
所以我想告诉Java使用UTF-8作为默认字符集。 This answer解释说我应该在命令行中添加-Dfile.encoding=UTF-8
。但是,当我输入:
java -Dfile.encoding=UTF-8 -jar <my jar> <arguments>
我收到一条错误消息,指出.encoding=UTF-8
无法作为主要类别找到。
我知道我错过了一些愚蠢的东西,但我找不到它是什么......
答案 0 :(得分:1)
我 错过了一些愚蠢的东西。
我正在使用PowerShell。 PowerShell以特殊方式处理-
。我不得不写
java "-Dfile.encoding=UTF-8" -jar ...
现在一切正常。
愚蠢的PowerShell。