如何从Eclipse插件中搜索文件?

时间:2012-10-19 12:40:15

标签: eclipse eclipse-plugin eclipse-rcp

我想从Eclipse插件中搜索一个文件。 我使用了以下代码,但它没有用。

IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
    String str = JOptionPane.showInputDialog(null,
            "Please enter the search file name");
    for (IProject project : root.getProjects()) {
        IFile file = project.getFile(str);
        if (file.exists()) {
            JOptionPane.showMessageDialog(null, file.getName());
        } else {
            JOptionPane.showMessageDialog(null, "File Not Found! ");
        }
    }

1 个答案:

答案 0 :(得分:3)

获得文件名后,您可以编写一个递归方法,在容器中搜索文件和更多容器。从工作区根目录开始。有些事情需要注意:

  • IWorkspaceRoot,IProject和IFolder都是IContainers。
  • IWorkspaceRoot包含IProjects
  • IProjects和IFolders包含IFolders和IFiles
  • IContainers有一个members()方法,它返回直接包含在该容器中的IFiles和IContainer列表。
  • IWorkspaceRoot,IProjects,IFolders,IFiles都是IResources,IResource有一个方法可以告诉你它是什么类型的资源(项目,文件夹,文件等)。
  • IFile可以告诉你它的文件名,项目,项目相对路径和绝对文件名