簡體   English   中英

從 Jar 中的資源加載 Java

[英]Java Load From Reasource In Jar

我在從 eclipse 中的資源加載文件時遇到了一些困難。 在 IDE 中,加載工作正常。 在編譯的 jar 中,一切都中斷了。

這適用於在 jar 內部和外部加載圖像:

ImageIO.read(this.getClass().getResourceAsStream("E.png"))

這僅適用於文件對象的 IDE(我知道它很亂):

File f = new File(Thread.currentThread().getContextClassLoader().getResource("Overworld.mp3").getPath().replace("%20", " "));

我希望有一個文件對象 File(InputStream) 的構造函數,這樣我就可以使用第一種方法為文件加載圖像(到目前為止它完美無缺)。 然而這並不存在。

是否有任何其他方法可以將文件加載到文件對象中,使其在 IDE 和編譯的 jar 中工作?

提前致謝。

(單獨但相關的問題:為什么File f = new File(this.getClass().getResource("Overworld.mp3").getFile());給出 MEDIA_UNAVAILABLE 異常?該文件與“E. png”以及我項目中的所有其他源文件)

getResourceAsStream()返回一個java.io.InputStream ,您可以使用它以字節數組的形式讀取 jar 中資源的內容。

這對你有用嗎?

為什么需要java.io.File

加載與類/jar 一起放置的資源的另一種方法。

URL url = getClass().getClassLoader().getResourceAsStream(filePath);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM