我有一个带有 JFrame
的单独类,当用户单击主框架上的按钮时,该类将打开。该框架有一个显示内容的JTextPane
。我用下面写的代码打开我的文件。但在斯洛文尼亚,某些字母无法正确显示(例如,烤鸡 = piščanec na žaru...其中 š、č 和 ž 显示为正方形)。
我的问题是,是否可以在不更改字体的情况下为文本或文件设置 UTF-8 编码?字体必须保持默认(使用 NetBeans)。
public class EditFrame extends javax.swing.JFrame {
public void readFile(File f) {
try {
textPane.read(new java.io.FileReader(f), null);
} catch (IOException ex) {
Logger.getLogger(EditFrame.class.getName()).log(Level.SEVERE, null, ex);
}
}
...
}
最佳答案
您必须指定正在读取的文件的编码。
可以这样完成:
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(f), "UTF-8"));
textPane.read(reader, null);
关于java - 如何为在 JTextPane 上的单独 JFrame 上打开的文件设置 UTF-8 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43256357/