私の記憶が正しければ、.jar
ファイルにアクセスしてリソースを取得することはできませんが、.jar
ファイルは派手な拡張子の Zip ファイルにすぎないため、そのように開くことができます。
これが私の例のフォルダー構造です(ただし、どのような構造でもかまいません)。
ExampleDir
|
+--- TestZip.fan
+--- testOpen.jar
|
+--- META-INF
| +--- email.png
| ...
|...
そして、次のtestOpen.jar
ように開きます。
class TestZip
{
static Void main(Str[] args)
{
jar := Zip.open(File(`testOpen.jar`))
png := jar.contents[`/META-INF/email.png`].readAllBuf
jar.close
}
}
編集: Fantom ボードでこれについて議論すると、この例は機能するはずです。
buff := Interop.toFan(Class.forName("net.testOpen.Foo").getClassLoader().getResourceAsStream("email.png")),4096)