gpt4 book ai didi

java - Java 中的 jTable 编码

转载 作者:太空宇宙 更新时间:2023-11-04 15:00:28 25 4
gpt4 key购买 nike

我正在加载文件,

从中获取一行

并将其放入 jTable

jTable 将我的一些字符显示为方框。

我在网上找到的答案:

1.

  • 这就是文件的打开方式,所以我改变了
  • BufferedReader bf = new BufferedReader(new FileReader(文件名));
  • 进入
  • BufferedReader bf = new BufferedReader(new InputStreamReader(new FileInputStream(文件名), "UTF8"));
  • 我还尝试了 Charset 而不是字符串

2.

  • 这是字体的问题,所以我尝试了
  • jTable1.setFont(new Font("Times New Roman", Font.BOLD, 12));
  • 我尝试了其他字体,例如 Arial、David...

你还能想到其他原因吗?

根据nachokk的要求,这是我的代码:

        int linecount = 0;
String line = null;
BufferedReader bf = new BufferedReader(new InputStreamReader(new FileInputStream(filename), "UTF8"));
DefaultTableModel model = (DefaultTableModel) jTable1.getModel();

while ((line = bf.readLine()) != null) {
linecount++;
model.addRow(new Object[]{filename, linecount, line});
}

最佳答案

当您使用的字体不包含必要的glyphs时,您会在屏幕上看到一个框。 (即它不知道如何呈现某些 Unicode 字符代码)。

如果 Java 无法读取文件(即编码问题),您应该看到 ?

如果您需要快速测试,请打开一个允许选择喜欢的文本编辑器,然后 your OS's Unicode input method输入一些 Unicode 值(或者,如果您有文件,请尝试打开它)。

请注意,某些文字处理器会注意到字形丢失,并自动回退到包含该字形的字体。

[编辑]

it gives me a replacement character 65533 at every location

这意味着您使用了错误的编码来读取文件。找出正确的编码是什么(例如询问创建它的人)并使用它而不是 UTF-8

关于java - Java 中的 jTable 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22622296/

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