2009-06-06 36 views
22

通常情況下,這個代碼是用於轉換從FileIFile如何從文件轉換爲java中的IFile,用於項目之外的文件?

IWorkspace workspace= ResourcesPlugin.getWorkspace();  
IPath location= Path.fromOSString(file.getAbsolutePath()); 
IFile ifile= workspace.getRoot().getFileForLocation(location); 

但對於Java文件這隻能在項目內。當File文件不在工作區(不在項目中)時,如何獲得IFile

+0

您的意思是getFileForLocation在第3行? – 2011-10-16 00:38:27

回答

9

IResource及其子IFile原本僅用於位於工作區中的資源。請參閱Javadoc for IResource

但是,由於Eclipse 3.3還支持外部文件,請參閱this Eclipse Wiki page

+0

我試過這個解決方案,但是我得到這個錯誤 java.lang.IllegalStateException:Workspace已關閉。 當我嘗試獲取工作空間時,如下所示: IWorkspace ws = ResourcesPlugin.getWorkspace(); 你能幫忙解決這個問題嗎? – 2009-06-07 15:32:52

相關問題