将IFile内容复制到另一个IFile

时间:2014-08-27 21:12:26

标签: java eclipse-plugin

所以我有以下内容:

IFile oldIvy = this.project.getFile("ivy.xml");

IFile newIvy = this.project.getFile("tempIvy.xml);

我对tempIvy.xml进行了更改,现在我想将tempIvy.xml的内容复制回ivy.xml

我已经尝试过诸如copy,setContents等方法。它似乎并没有将一个内容复制到另一个。

有什么建议吗?

e.g。我已经完成了:

oldIvy.setContents(newIvy.getContents(), true, false, monitor);

这是我所指的API ..

谢谢!

2 个答案:

答案 0 :(得分:0)

尝试使用here所述的refreshLocal()。这应该强制Eclipse刷新其对文件的引用,然后您应该能够访问内容。

答案 1 :(得分:0)

如果从工作区外部更改工作区文件或使用非Eclipse API(例如普通Java文件I / O操作),那么您将需要使用IFile.refreshLocal告诉Eclipse接收变化。

如果使用Eclipse API更改文件内容,则不需要

refreshLocal

可以选择在“首选项”中自动刷新>一般>工作区,但您的代码不应该依赖于此设置。