2010-09-08 26 views
1

我想生成一個文件(一個.javajet模板)的fullURI來讀取它生成的代碼。 當我拿到Platform.getBundle(pluginId())getEntry( 「/」),它給了我下面的字符串:Platform.getBundle()。getEntry() - 如何獲取完整的文件的URI

bundleentry://1074.fwk5184781/templates/FlowMain.javajet 這顯然是錯誤的,因此找不到模板文件。 的代碼如下:

私人字符串getUri(字符串pluginId,字符串relativeUri) { 字符串鹼= Platform.getBundle(pluginId).getEntry( 「/」)的toString(); String result = base + relativeUri; 返回結果; }

有關如何獲取此文件的完整URI的任何想法?

回答

2

要獲得工作區位置,您可以使用Platform.getLocation()Doc

如果您有項目處理,也可以使用IProject.getLocation()來獲取項目的位置。您可以致電IFile..getFullPath()

+0

我想實現這樣的事情 - http://www.eclipse.org/articles/Article-JET2/jet_tutorial2.html – Ved 2010-09-09 16:37:11

+1

爲你做這個工作:Bundle bundle = Platform.getBundle(pluginId); Path path = new Path(「your/file.javajet」); URL fileURL = Platform.find(bundle,path); – Florian 2010-09-09 17:11:20

+1

這是怎麼回事:Path path = new Path(Platform.resolve(Platform.find(plugin.getBundle(),new Path(filePath)))。getFile())。toFile()。toString();這是非常黑客,可能有更好的方法,但它似乎工作。 – Florian 2010-09-09 18:49:41

相關問題