gpt4 book ai didi

java - JEdi​​torPane 在通过 BufferedReader 读取时不显示特殊分隔符

转载 作者:行者123 更新时间:2023-12-02 08:28:44 25 4
gpt4 key购买 nike

我正在创建一个自定义 XML 编辑器。我的 xml 文件包含许多特殊分隔符,例如 ▪ ¥ ‡ § 等。但是,当我读取文件并在 JEditorPane 中显示时,它不会读取该文件并显示其他内容,例如 • 的 ' 以及一些奇怪的字符。那么如何读取并显示文件的原样呢?下面是我编写的打开文件的代码:

void openFile(){
BufferedReader br;
try{
File file=open.getSelectedFile();
br=new BufferedReader(new FileReader(file));
StringBuffer content=new StringBuffer("");
String line="";
while((line=br.readLine())!=null){
content.append(line+"\n");
}
br.close();
getEditorPane().setText(content.toString());
getEditorPane().setCaretPosition(0);
edit_tab.setTitleAt(edit_tab.getSelectedIndex(),file.getName());
fileNames.put(edit_tab.getSelectedIndex(),open.getSelectedFile().toString());
tab_title[edit_tab.getSelectedIndex()]=file.getName();
}
catch(Exception e){
JOptionPane.showMessageDialog(this,"Error reading file","READ ERROR",JOptionPane.ERROR_MESSAGE);
}
}

谢谢...

最佳答案

设置编码的正确方法是使用FileInputStream和InputStreamReader读取文件,我们可以在InputStreamReader的构造函数中设置编码,如下所示:

        InputStreamReader is;
FileInputStream fs;
try{
File file=open.getSelectedFile();
fs=new FileInputStream(file);
is=new InputStreamReader(fs,"UTF-8");
br=new BufferedReader(is);
StringBuffer content=new StringBuffer("");
String line="";
while((line=br.readLine())!=null){
content.append(line+"\n");
}
br.close();
getEditorPane().setText(content.toString());
}
catch(Exception e){

}

关于java - JEdi​​torPane 在通过 BufferedReader 读取时不显示特殊分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3922956/

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