我希望大家都过得不错。在将绝对文件路径传递给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)