Java 如何为Eclipse插件项目定义UTF-8编码
我创建了一个插件,它读取UTF-8格式的文件并将其显示在标签中 如果我通过runconfiguration->将编码更改为UTF-8来运行Eclipse插件项目,它也可以通过显示特殊字符来正常工作 但是,当我创建一个插件并将其安装在Eclipse上时,它选择了默认的编码类型,而没有正确显示特殊字符 在将插件打包到插件中后,如何使插件始终以UTF-8编码运行 以下是我读取文件的代码:Java 如何为Eclipse插件项目定义UTF-8编码,java,eclipse,utf-8,eclipse-plugin,Java,Eclipse,Utf 8,Eclipse Plugin,我创建了一个插件,它读取UTF-8格式的文件并将其显示在标签中 如果我通过runconfiguration->将编码更改为UTF-8来运行Eclipse插件项目,它也可以通过显示特殊字符来正常工作 但是,当我创建一个插件并将其安装在Eclipse上时,它选择了默认的编码类型,而没有正确显示特殊字符 在将插件打包到插件中后,如何使插件始终以UTF-8编码运行 以下是我读取文件的代码: File file = new File("D:\\StringFile.txt"); S
File file = new File("D:\\StringFile.txt");
String Message = "";
try {
if (file.exists()) {
BufferedReader in = new BufferedReader(
new FileReader(file));
String str;
System.out.println("File found");
while ((str = in.readLine()) != null) {
if (str.contains("GER")) {
Message = str.split(" : ")[1];
System.out.println("Message -- " + Message);
}
}
}
} catch (IOException e) {
e.printStackTrace();
}
Label message = new Label(dialog, SWT.LEFT);
...
message.setText(Message);
如果您知道文件的编码,则应在打开文件时指定该编码。为此,请使用InputStreamReader而不是FileReader: 注意:StandardCharset需要Java 7或更高版本,如果您希望在早期版本的Java中使用Charset.forNameUTF-8
注意:对于Eclipse工作区中的文件,插件应使用IFile API。如果要读取具有特定编码的文件,应在打开文件时指定该编码。给我们看你用来阅读文件的代码。我用代码编辑了这篇文章。请查收。
InputStream is = new FileInputStream(file);
Reader reader = new InputStreamReader(is, StandardCharsets.UTF_8);
BufferedReader in = new BufferedReader(reader);