【问题标题】:Recursively list all files in eclipse workspace programmatically以编程方式递归列出eclipse工作区中的所有文件
【发布时间】:2014-01-11 16:47:49
【问题描述】:

我通过调用 ResourcesPlugin.getWorkspace().getRoot() 获得工作空间。

如何在工作区中递归列出所有文件(IFile)。

【问题讨论】:

    标签: eclipse eclipse-rcp eclipse-plugin


    【解决方案1】:

    工作空间中的根目录、项目和文件夹都实现了IContainer 接口。

    调用IContainer.members()获取容器中的所有资源。

    类似:

    void processContainer(IContainer container) throws CoreException
    {
       IResource [] members = container.members();
       for (IResource member : members)
        {
           if (member instanceof IContainer)
             processContainer((IContainer)member);
           else if (member instanceof IFile)
             processFile((IFile)member);
        }
    } 
    

    【讨论】:

    • 如何为搜索指定目录级别?例如,如果我只想在此级别搜索文件:project\folder 而不是像project\folder\trash这样的较低级别
    • @2c00L 您可以向processContainer 添加一个“深度”参数,并在达到所需深度时停止。
    猜你喜欢
    • 1970-01-01
    • 2011-07-24
    • 1970-01-01
    • 2012-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-17
    相关资源
    最近更新 更多