【问题标题】:Specify the default file encoding in Java [duplicate]在Java中指定默认文件编码[重复]
【发布时间】:2016-01-28 08:11:53
【问题描述】:

我正在尝试运行读取文件并处理它们的 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 作为主类。

我知道我错过了一些愚蠢的东西,但我找不到它是什么......

【问题讨论】:

  • 谢谢,但不是这样。 UTF-8 有效。我保留这个问题以防其他人遇到这种意外的 PowerShell 行为。
  • 添加了 powershell 标签,因为这是问题的真正原因。

标签: java powershell encoding command-line-arguments


【解决方案1】:

错过了一些愚蠢的东西。

我正在使用 PowerShell。 PowerShell 以特殊方式处理-。我不得不写

java "-Dfile.encoding=UTF-8" -jar ...

现在一切正常。

愚蠢的 PowerShell。

【讨论】:

  • -D"file.encoding=UTF-8"
猜你喜欢
  • 2010-11-10
  • 2013-02-04
  • 2014-04-23
  • 2020-09-18
  • 1970-01-01
  • 1970-01-01
  • 2011-04-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多