2012-10-19 71 views
0

我想從Eclipse插件搜索文件。 我用下面的代碼,但它沒有工作。如何從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! "); 
     } 
    } 
+0

您是否期待文件的名稱(例如fred.txt),然後查看整個工作區中的文件? –

+0

是的,只是文件名例如「SalesHandler.java」 –

回答

3

一旦你有了文件名,你就可以編寫一個遞歸的方法來搜索容器中的文件和更多的容器。從工作區根開始。有些事情要注意:

  • IWorkspaceRoot,IProject和IFolder都是IContainers。
  • IWorkspaceRoot包含IProjects
  • IProjects和IFolders包含IFolders和的ifiles
  • IContainers有一個返回該容器中直接含有的ifiles和IContainers的列表的成員()方法。
  • IWorkspaceRoot,IProjects,IFolders,的ifiles都的IResources和IResource接口有,告訴你它是什麼類型的資源(項目,文件夾,文件等)
  • 一個的IFile可以告訴你它的文件名,項目的方法,項目相對路徑和絕對文件名
+0

非常感謝,它的工作原理 問題是我找不到你提供的項目結構的組織信息:) 有沒有辦法突出顯示找到的文件?即使其被選中 –