Java 如何为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

我创建了一个插件,它读取UTF-8格式的文件并将其显示在标签中

如果我通过runconfiguration->将编码更改为UTF-8来运行Eclipse插件项目,它也可以通过显示特殊字符来正常工作

但是,当我创建一个插件并将其安装在Eclipse上时,它选择了默认的编码类型,而没有正确显示特殊字符

在将插件打包到插件中后,如何使插件始终以UTF-8编码运行

以下是我读取文件的代码:

        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);