Bundle#getEntryが返すURL

下のようなコードをたまーに見かける。


Bundle hogeBundle = ・・・
URL url1 = hogeBundle.getEntry("[とあるファイル]");
URL url2 = FileLocator.toFileURL(url1)
FileLocatorにわざわざtoFileURLというメソッドがあるということは、
Bundle#getEntryが返すURLはちょっと違うURLなのかなー?
というわけで、調べてみた。



試しに、プラグインorg.apaceh.antのetc/junit-frames.xslを取得した場合の結果。
(上がBundle#getEntryが返すURLで下がFileLocator#toFileURLのURL)。


bundleentry://20/etc/junit-frames.xsl
file:/C:/[Eclipseインストールフォルダ]/plugins/org.apache.ant_1.6.5/etc/junit-frames.xsl


なんかbundleentryとかなってるし、antのプラグインフォルダも数字になってる。
どっちのURLでもopenStream()できちんとInputStreamが取れるので、どーでもいいんだけど
こんな違いがあるということで・・・。