1

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! ");
        }
    }
4

1 に答える 1

3

ファイル名を取得したら、コンテナでファイルやその他のコンテナを検索する再帰メソッドを記述できます。ワークスペースのルートから始めます。注意すべき点:

  • IWorkspaceRoot、IProject、およびIFolderはすべてIContainerです。
  • IWorkspaceRootにはIProjectsが含まれています
  • IProjectsとIFoldersには、IFoldersとIFilesが含まれています
  • IContainersには、そのコンテナに直接含まれているIFilesとIContainersのリストを返すmembers()メソッドがあります。
  • IWorkspaceRoot、IProjects、IFolders、IFilesはすべてIResourcesであり、IResourceには、リソースの種類(プロジェクト、フォルダー、ファイルなど)を通知するメソッドがあります。
  • IFileは、ファイル名、プロジェクト、プロジェクトの相対パス、および絶対ファイル名を教えてくれます
于 2012-10-19T13:30:09.197 に答える