以编程方式递归列出eclipse工作区中的所有文件

Posted

技术标签:

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

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

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

【问题讨论】:

【参考方案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 添加一个“深度”参数,并在达到所需深度时停止。

以上是关于以编程方式递归列出eclipse工作区中的所有文件的主要内容,如果未能解决你的问题,请参考以下文章

类以递归方式列出/删除目录中的文件

如何以编程方式列出解决方案中的所有项目?

在Unix中递归列出文件中的所有文件? [复制]

在 Junit 4 中运行所有测试

有没有办法以递归方式列出所有使用更改方法的类?

在 Groovy 中递归列出与特定文件类型匹配的所有文件