Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
指定Java中的默认文件编码_Java_Powershell_Encoding_Command Line Arguments - Fatal编程技术网

指定Java中的默认文件编码

指定Java中的默认文件编码,java,powershell,encoding,command-line-arguments,Java,Powershell,Encoding,Command Line Arguments,我正在尝试运行Java应用程序(我没有源代码)来读取和处理文件。不幸的是,它不能处理UTF-8编码的文件 使用我已经看到函数Files.readAllLines失败,出现UnmappableCharacterException。虽然可以为函数提供字符集,但由于我没有应用程序的源代码,因此无法更改它 所以我想告诉Java使用UTF-8作为默认字符集。说明我应该向命令行添加-Dfile.encoding=UTF-8。但是,当我键入时: java -Dfile.encoding=UTF-8 -jar

我正在尝试运行Java应用程序(我没有源代码)来读取和处理文件。不幸的是,它不能处理UTF-8编码的文件

使用我已经看到函数
Files.readAllLines
失败,出现UnmappableCharacterException。虽然可以为函数提供字符集,但由于我没有应用程序的源代码,因此无法更改它

所以我想告诉Java使用UTF-8作为默认字符集。说明我应该向命令行添加
-Dfile.encoding=UTF-8
。但是,当我键入时:

java -Dfile.encoding=UTF-8 -jar <my jar> <arguments>
java-Dfile.encoding=UTF-8-jar
我收到一条错误消息,称无法将
.encoding=UTF-8
作为主类找到

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

我错过了一些愚蠢的东西

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

java "-Dfile.encoding=UTF-8" -jar ...
现在一切都很好


愚蠢的PowerShell。

谢谢,但不是这样。UTF-8有效。我保留此问题,以防其他人遇到此意外的PowerShell behvaior。添加PowerShell标记是因为这是问题的实际原因。或者
-D“file.encoding=UTF-8”