2012-11-14 72 views
0

我想開發一個插件,將呈現樹視圖中的XML文件的元素和(雙擊)應該打開文件編輯。有問題的文件是一個插件資源。Eclipse插件:如何爲編輯提供輸入

我見過的大多數例子都是從選擇中選擇一個文件(所選元素);我的問題是我無法找到一種方式來提供其他的輸入。 下面是幾個例子什麼,我已經嘗試過的:

IProject project= ResourcesPlugin.getWorkspace().getRoot().getProject("the plugin project"); 
IFile file = testProject.getFile("test.xml"); 

IWorkspace workspace= ResourcesPlugin.getWorkspace(); 
IPath location= new Path(relative path); // local to the project directory 
IFile file= workspace.getRoot().getFileForLocation(location); 

不知怎的,我要找的文件沒有找到。 我已經成功地呈現樹通過讀取流提供的文件:

MyClass.class.getResourceAsStream(relativePath); 

我能得到的URL文件(使用getResource()方法),但我不知道我是否可以使用它得到我需要的IFile。 請指教。

回答

1

你說location是相對於項目目錄,但您嘗試使用workspace.getRoot().getFileForLocation()解決它,它的JavaDoc說,

的路徑應該是絕對的;相對路徑將被視爲絕對。

+0

謝謝你的回答。 我不得不說,這是真的很奇特(忍不住要求我,我只是他尋求知識的初學者),我嘗試了絕對路徑只是爲了讓它工作,但「文件」爲空,並引發異常。我在想,也許它是在eclipse中打開的工作空間中尋找文件(這是用於測試的臨時文件),這將解釋爲什麼我無法在第一個示例中找到該項目。這是對的嗎? – kamel

+0

那麼,你的路徑看起來像'/ myProject/path/inside/project/myfile.txt',其中'myProject'是你正在運行代碼的Eclipse實例中的工作區項目? –

+0

嗯,我已經嘗試過使用eclipse調試器的各種路徑(無奈之舉)。我試過一個: 文件名/ &/文件名 &/文件夾/文件夾和文件夾/文件名 &/項目/文件夾/文件名 – kamel