Bundle#getEntryが返すURL
下のようなコードをたまーに見かける。
FileLocatorにわざわざtoFileURLというメソッドがあるということは、
Bundle hogeBundle = ・・・
URL url1 = hogeBundle.getEntry("[とあるファイル]");
URL url2 = FileLocator.toFileURL(url1)
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が取れるので、どーでもいいんだけど
こんな違いがあるということで・・・。