Java EclipseAPI:如何检查IFile是.project还是.classpath文件?

Java EclipseAPI:如何检查IFile是.project还是.classpath文件?,java,eclipse,eclipse-plugin,Java,Eclipse,Eclipse Plugin,简单地说,我的问题是: 如果给定一个IFile,是否有方法检查该IFile是.classpath文件还是.project文件 以下是完整的独家新闻: 我正在实现一个资源同步器,作为Eclipse插件的一部分,该插件使用我安排接收的“资源更改消息”创建“复制代码库”(整个工作区的副本)。这些消息指示我必须添加/更改/删除哪些资源。例如,添加Java项目时,我将按以下顺序接收以下4条消息: {添加“.classpath”文件} {添加“.project”文件} {添加“org.eclipse.jdt

简单地说,我的问题是:

如果给定一个IFile,是否有方法检查该IFile是
.classpath
文件还是
.project
文件

以下是完整的独家新闻:

我正在实现一个资源同步器,作为Eclipse插件的一部分,该插件使用我安排接收的“资源更改消息”创建“复制代码库”(整个工作区的副本)。这些消息指示我必须添加/更改/删除哪些资源。例如,添加Java项目时,我将按以下顺序接收以下4条消息:

  • {添加“.classpath”文件}
  • {添加“.project”文件}
  • {添加“org.eclipse.jdt.core.prefs”文件}
  • {添加“src”文件夹} 为了在本例中创建项目资源,我确保消息中每个资源的父级都存在。因此,当我创建每个资源时,我检查资源的父资源是否存在——如果不存在,我创建父资源(就像我们示例中第一个“.classpath”消息的项目资源),然后递归检查父资源的父资源是否存在


    我的问题是Eclipse在创建项目时会自动创建一个“.project”文件,因此{ADD“.project”file}消息变得多余。如果我只能在处理{ADD.classpath“FILE}消息时检测,那么我可以有选择地创建一个项目,然后立即删除自动生成的“.PROJECT”文件,并且在处理下一条消息(即{ADD.PROJECT“FILE})时不会有任何冲突

    这些文件名是固定的,因此,如果文件位于项目根文件夹中,则只需检查名称即可

    org.eclipse.core.resources.IProjectDescription.DESCRIPTION_FILE_NAME
    .project
    org.eclipse.jdt.core.IJavaProject.CLASSPATH_FILE_NAME
    的标准常量