如何将绝对文件路径传递给IFile

时间:2019-10-01 11:56:43

标签: java eclipse eclipse-plugin xtend

我希望大家都过得不错。在将绝对文件路径传递给IFile时,我陷入了代码的某些部分。请指导我解决这些问题。我在Eclipse中使用Xtend。但是您也可以在Java中为我提供答案。

class A{
  def x(){

 - 

val file = new File("D:\\xyz.xml")
   val ifile = file as IFile // Getting error here
   new B().y(ifile) 
  }
}
class B{
 def y(IFile file){

  //do something

 }
}

类型转换 java.io.File无法转换为org.eclipse.core.resources.IFile 时出现错误。

我尝试过此解决方案

Convert from absolute path to IFile

但是我并不讨厌实现自己的解决方案。给我一些其他方法来将绝对路径传递到IFile。

我还尝试了其他方式:

class A{
 def x(){
  val file = new File("D:\\xyz.xml")
  val workspace= ResourcesPlugin.getWorkspace();
  val location= Path.fromOSString(file.getAbsolutePath());
  val ifile= workspace.root.getFileForLocation(location)
  new B().y(ifile)
 }
}
class B{
 def y(IFile file){
  //do somthing
 }
}

然后它显示一些错误,例如工作区已关闭。线程“主”中的异常java.lang.IllegalStateException:工作区已关闭。     在org.eclipse.core.resources.ResourcesPlugin.getWorkspace(ResourcesPlugin.java:412)

0 个答案:

没有答案