【发布时间】:2011-09-01 09:34:41
【问题描述】:
我想检查一个文件是否存在于 Eclipse 工作区中。
因此,我通过以下方式创建了一个 IFile 句柄 (org.eclipse.core.resources.IFile): IFolder.getFile("文件名"); 我读到,getFile 不会检查文件是否真的存在。
那么我如何检查它是否存在?或者通过 IFiles 和 IFolders 的一般方式对于该目的是错误的?
【问题讨论】:
我想检查一个文件是否存在于 Eclipse 工作区中。
因此,我通过以下方式创建了一个 IFile 句柄 (org.eclipse.core.resources.IFile): IFolder.getFile("文件名"); 我读到,getFile 不会检查文件是否真的存在。
那么我如何检查它是否存在?或者通过 IFiles 和 IFolders 的一般方式对于该目的是错误的?
【问题讨论】:
IFile 继承 IResource#exists() - 这应该是您正在寻找的。p>
【讨论】:
IResource 是提供方法exist() 的IFile 和IFolder 的公共父级。你应该使用它。
【讨论】:
您应该在文件对象上调用方法IResource.refreshLocal(..),然后调用IResource.exists()。
对我来说,refreshLocal 电话是必要的。否则,如果文件系统中存在文件,exists 将返回 false 事件。
【讨论】: