Java 将IFile内容复制到另一个IFile

Java 将IFile内容复制到另一个IFile,java,eclipse-plugin,Java,Eclipse Plugin,因此,我有以下几点: IFile oldIvy = this.project.getFile("ivy.xml"); IFile newIvy = this.project.getFile("tempIvy.xml); 我已经对tempIvy.xml进行了更改,现在我想将tempIvy.xml的内容复制回ivy.xml 我尝试过复制、设置内容等方法。它似乎没有将其中一个的内容复制到另一个 有什么建议吗 e、 g.我做过: oldIvy.setContents(newIvy.getConten

因此,我有以下几点:

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

IFile newIvy = this.project.getFile("tempIvy.xml);
我已经对
tempIvy.xml
进行了更改,现在我想将
tempIvy.xml
的内容复制回
ivy.xml

我尝试过复制、设置内容等方法。它似乎没有将其中一个的内容复制到另一个

有什么建议吗

e、 g.我做过:

oldIvy.setContents(newIvy.getContents(), true, false, monitor);
这是我一直在说的


谢谢

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

如果您从工作区之外或通过使用非Eclipse API(如正常的Java文件I/O操作)对工作区文件进行更改,那么您将需要使用
IFile.refreshLocal
来告诉Eclipse选择这些变化

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


在“首选项”>“常规”>“工作区”中有一个自动刷新选项,但您的代码不应依赖于此设置。

代码是否引发任何异常?经过进一步调查,我在tempIvy.xml上发现一个资源不同步错误。正在尝试解决如何修复同步错误。this.project.refreshLocal(IResource.DEPTH\u INFINITE,monitor);修正了这个问题。仅刷新IFile无法正常工作。