以编程方式递归列出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工作区中的所有文件的主要内容,如果未能解决你的问题,请参考以下文章