gpt4 book ai didi

java - 如何在 Jar 文件中获取 Unicode

转载 作者:行者123 更新时间:2023-12-02 06:55:13 26 4
gpt4 key购买 nike

我编写了一个从程序外部调用 Unicode 的程序。我使用的是 Windows XP 和 Eclipse。当我在 IDE 中运行该程序时,它显示 Unicode,但是当我将其导出为 .jar 文件时,我无法读取 Unicode,它显示为方框。

我关注了these instructions在我的电脑上安装 Unicode。我按照链接安装 the Telugu fonts到我的系统。

有人可以告诉我如何在 Jar 文件中获取 Unicode 吗?

最佳答案

虽然没有直接回答问题,但这里有一个关于如何以依赖于操作系统的方式正确读取/写入文本文件的小指南。

首先要知道的是 JVM 有一个 file.encoding 属性。它定义了所有文件读/写操作使用的默认编码,所有读取器在未指定编码时使用。

因此,您不想使用默认构造函数,而是每次都定义编码。在 Java 中,“体现”编码的类是 Charset。如果你想要UTF-8,你将使用:

  • StandardCharsets.UTF_8(Java 7+),
  • Charset.forName("UTF-8") (Java 6-),
  • Charsets.UTF_8(如果您使用 Guava)。

为了正确读取文件,请打开该文件的 InputStream,然后在该 InputStream 上打开一个 InputStreamReader(在代码示例中)下面,UTF8 是通过上述方法之一获取的 UTF-8 字符集):

final InputStream in = new FileInputStream(...);
final Reader reader = new InputStreamReader(in, UTF8);

为了正确写入文件,请打开一个 OutputStream 到该文件,然后在该 OutputStream 上打开一个 OutputStreamWriter:

final OutputStream out = new FileOutputStream(...);
final Writer writer = new OutputStreamWriter(out, UTF8);

当然,不要忘记在 finally block 中.close()两者流/读取器/写入器。提示:如果你不使用Java 7,请使用Guava 14.0+,使用Closer 。这是处理多个 I/O 资源并确保正确处理它们的最安全的方法。

关于java - 如何在 Jar 文件中获取 Unicode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17467394/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com