【问题标题】:Printing Unicode characters using Java in eclipse works, but not when I export to a jar在 Eclipse 中使用 Java 打印 Unicode 字符有效,但在我导出到 jar 时无效
【发布时间】:2014-04-15 05:52:36
【问题描述】:

我有创建 PrintWriter 并打印 Unicode 符号的代码

out = new PrintWriter(new FileWriter("test.txt"));
out.print("\u2588");
out.close();

在 Eclipse 中使用 UTF-8 编码保存时,它可以完美运行,但是当我将它导出到 jar 时,它只会打印出问号。打印字符串时如何告诉它使用 UTF-8?

【问题讨论】:

  • 你在哪里运行你的 jar?
  • 从我的桌面 - Luiggi

标签: java eclipse unicode utf-8


【解决方案1】:

Eclipse 可能会帮助您创建 UTF-8 编码文件,但最好在您的代码中使用正确的编码。

FileWriter 不带任何参数进行编码。您可以使用 OutputStreamWriter,因为它也接受编码。您可以将 PrintWriter 初始化更改为:

PrintWriter out = new PrintWriter(new OutputStreamWriter(new FileOutputStream("test.txt"),"UTF-8")));

【讨论】:

    【解决方案2】:

    创建一个 FileOutputStream,而不是 FileWriter。然后将其包装在 OutputStreamWriter 中,它允许您在构造函数中传递编码。

    FileOutputStream fos = new FileOutputStream("test.txt");
    OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8")
    PrintWriter out = new PrintWriter(osw);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-23
      • 2016-10-31
      相关资源
      最近更新 更多