【发布时间】:2014-01-11 16:47:49
【问题描述】:
我通过调用 ResourcesPlugin.getWorkspace().getRoot() 获得工作空间。
如何在工作区中递归列出所有文件(IFile)。
【问题讨论】:
标签: eclipse eclipse-rcp eclipse-plugin
我通过调用 ResourcesPlugin.getWorkspace().getRoot() 获得工作空间。
如何在工作区中递归列出所有文件(IFile)。
【问题讨论】:
标签: eclipse eclipse-rcp eclipse-plugin
工作空间中的根目录、项目和文件夹都实现了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这样的较低级别
processContainer 添加一个“深度”参数,并在达到所需深度时停止。