Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Eclipse:如何以编程方式刷新当前项目_Eclipse_Eclipse Plugin - Fatal编程技术网

Eclipse:如何以编程方式刷新当前项目

Eclipse:如何以编程方式刷新当前项目,eclipse,eclipse-plugin,Eclipse,Eclipse Plugin,我正在构建一个eclipse插件,在其中我将在我的项目中创建一个新文件。 是否有方法刷新当前项目 我知道我可以通过打电话了解所有项目 ResourcesPlugin.getWorkspace().getRoot().getProjects() 在它们之间迭代并使用 IResource.refreshLocal() 然而,这种方法并不是最好的,尤其是当用户有很多项目时 另一种方法是浏览项目以检查新文件是否存在,但我会避免它。在项目级别刷新要容易得多 IProject project = roo

我正在构建一个eclipse插件,在其中我将在我的项目中创建一个新文件。 是否有方法刷新当前项目

我知道我可以通过打电话了解所有项目

ResourcesPlugin.getWorkspace().getRoot().getProjects()
在它们之间迭代并使用

IResource.refreshLocal()
然而,这种方法并不是最好的,尤其是当用户有很多项目时


另一种方法是浏览项目以检查新文件是否存在,但我会避免它。

在项目级别刷新要容易得多

IProject project = root.getProject(currentProjectName);
project.refreshLocal(IResource.DEPTH_INFINITE, null);

诚然,这可能效率低下,但您可以确保整个项目都已刷新。

如果您使用workspace API创建文件,则无需调用
refreshLocal
,请参见
org.eclipse.core.resources.IFile.create(InputStream,boolean,IProgressMonitor)


如何创建文件,请参阅

中的代码段如果您使用工作区API创建文件,则无需调用
refreshLocal
,请参阅
org.eclipse.core.resources.IFile.create(InputStream,boolean,IProgressMonitor)
@Tom Seidel我是否应该传递给该方法
FileInputStream is=new FileInputStream(new file(“我的路径”))
?在工作区中使用资源时,不要使用“java.io.File”。如何创建文件,请参阅问题@Tom中的片段。你能将其作为答案发布吗?它成功了,我想将其作为已接受的答案签名!谢谢Gilbert,现在的问题是:我如何检索当前项目的名称?再次感谢!@lucaghera:Y您已经得到了所有包含您问题中代码的项目。Eclipse不会知道哪个项目是当前项目。这取决于您自己来确定。