reu*_*N11 11 java encoding utf-8
我使用eclipse的程序输出文件有问题.i将我的eclipse设置为UTF-8并使用
System.getProperty("file.encoding")
Run Code Online (Sandbox Code Playgroud)
我得到UTF-8.i通过eclipse run-option运行我的prog并且输出(文本文件)以UTF-8编码.但是当我将源代码压缩成jar文件时,输出文件显示某些错误当在eclipse和frm jar文件中运行prog时,像.what这样的字母是什么?我必须在源代码中指定要在utf-8中编码的输出吗?请帮忙.
来自@dacwe的帮助确实产生了所需的输出.但是我可以知道如何在命令行外运行我的可执行.jar文件?-Dfile.encoding = UTF-8怎么样?
@dacwe:我尝试将源代码更改为
BufferedWriter bout = new java.io.BufferedWriter(new java.io.OutputStreamWriter(
new java.io.FileOutputStream(filename), "UTF-8"));
Run Code Online (Sandbox Code Playgroud)
但输出仍然没有正确编码.我想念的是什么?
dac*_*cwe 14
在@Dave G的回答中进行了一些重要的讨论!
使用java -Dfile.encoding=UTF-8 -jar your-jar-file.jar作品.
更新你的代码@Dave G建议(和你的编辑)应该工作.
close()给bout吗?(例如,您的文件可能未更新)这是一个可能让你前进的完整示例:
public static void main(String... args) throws Exception {
PrintWriter out = new PrintWriter(new File("hello.txt"), "UTF-8");
out.print("written in utf-8");
out.close();
}
Run Code Online (Sandbox Code Playgroud)
当您从 JAR 文件运行时,是否通过 -Dfile.encoding 设置 file.encoding 属性?如果没有,您也可以
a) 使用该编码显式打开流。为此,您必须创建一个 OutputStream,然后将其包装在 OutputStreamWriter 中,明确指示字符编码。
或者
b) 使用 System.setProperty("file.endcoding") 将属性设置为主方法中的第一件事;
注意@dacwe指出了一些我忘记的事情......纠正了我的答案。
| 归档时间: |
|
| 查看次数: |
24121 次 |
| 最近记录: |