我在eclipse工作区有一个项目。当我的程序运行时,它会将输出放在项目内的某个目录(最初可能不存在)中。我需要刷新这个目录,以便输出在eclipse工作区中可见。
以下代码用于此目的。
IContainer[] OutputDir = ResourcesPlugin.getWorkspace().getRoot().findContainersForLocationURI(path.toUri())
for (IContainer OpFolder : OutputDir) {
try {
OpFolder.refreshLocal(IProject.DEPTH_INFINITE,new NullProgressMonitor());
} catch (CoreException e) {
throw e;
}
}
对于包含父文件夹名称和子文件夹名称相同的路径,它不起作用
对于前:让我们说 项目根路径:D:/ casdev / myProject
输出路径:D:/ casdev / myProject / out / ct / CT / report
在这种情况下,它不会像findContainersForLocationURI()返回空容器那样刷新
如果输出路径:D:/ casdev / myProject / out / CT / Proj / report 然后它运作正常。
当我在某处检查findContainersForLocationURI()的实现时,它将此路径作为过滤路径返回。可能是因为它在路径中有ct / CT。
任何人都能告诉我如何解决这个问题吗?