Java 编辑器未在eclipse RCP应用程序中重新加载文件

Java 编辑器未在eclipse RCP应用程序中重新加载文件,java,eclipse,editor,eclipse-rcp,rich-text-editor,Java,Eclipse,Editor,Eclipse Rcp,Rich Text Editor,我在应用编辑器时遇到了一些问题,我正在打开编辑器以显示文件内容。现在的问题是,当我在编辑器中打开一个文件并从后端更改文件内容时,现在当我用该文件打开一个新编辑器时,它显示的文件内容与第一次打开的编辑器相同。理想情况下,若资源在后端发生更改,那个么它也必须在编辑器中显示。但我的情况并非如此 @IMP:我正在使用CTabItem项作为编辑器上的容器,并在其中添加页面 找到原因后,我认为这句话是在制造问题: fileStore = EFS.getLocalFileSystem().getStore(n

我在应用编辑器时遇到了一些问题,我正在打开编辑器以显示文件内容。现在的问题是,当我在编辑器中打开一个文件并从后端更改文件内容时,现在当我用该文件打开一个新编辑器时,它显示的文件内容与第一次打开的编辑器相同。理想情况下,若资源在后端发生更改,那个么它也必须在编辑器中显示。但我的情况并非如此

@IMP:我正在使用CTabItem项作为编辑器上的容器,并在其中添加页面

找到原因后,我认为这句话是在制造问题:

fileStore = EFS.getLocalFileSystem().getStore(new Path(filePath));
可以看出,它是单例类,返回的是打开的实例,而不是新实例。但理想情况下,应该有一个资源更改事件,它应该像eclipse那样重新加载文件。若我实现了IResourceChangeListener,那个么我应该做些什么来获得重新加载序列

更新


这些文件在工作区中吗?如果是的话,你应该使用IFile。对于本地文件系统,IFileStore的实现只使用普通的Java文件对象,所以它应该能够接受更改。不,这些不在工作区中。它们可以具有任意路径位置,例如C:\,D:\any where.IResourceChangeListener只报告工作区中的更改,因此这不会有任何帮助。@greg-449感谢您的回复,然后是任何建议。
   IFileStore fileStore = null;
    pageeditor = findEditorFromReference();
    fileStore = EFS.getLocalFileSystem().getStore(
            new Path(filePath));


    fileStore = fileStore.getChild("");
    //just assume reference to the code.
    openEditor = new Editor();//just reference of working 
    EditorInput editorInput = new EditorInput(
            fileStore, lineNo, filePath, title);
    Integer pageIndexNo = pageeditor.getPageIndexNo(file
            .getName());
    if (pageIndexNo == -1) {
        pageeditor.addPage(openEditor, editorInput, file
                .getName(), file.getName());