首頁 > Java > java教程 > 主體

如何在 Java 中存取 JAR 檔案中的資源?

Barbara Streisand
發布: 2024-11-06 16:36:02
原創
542 人瀏覽過

How to Access Resources from JAR Files in Java?

從JAR 檔案載入資源

在您的應用程式中,您使用WinProcessor.class.getResource("repository") 載入資源。 toString(),它在從 IDE 運行時提供檔案路徑,但在作為 JAR 檔案執行時傳回 JAR URL。出現這種差異的原因是 JAR 檔案包含壓縮和打包格式的資源。

了解 JAR 中的資源載入

當您將應用程式打包到 JAR 檔案時,其內容,包括資源,儲存在存檔中。當您嘗試存取 JAR 檔案中的資源時,JVM 對待它的方式與檔案系統中的檔案不同。 getResource 方法傳回指向 JAR 中資源位置的 URL。

解決方案:使用 getResourceAsStream

要解決此問題,建議使用 getResourceAsStream 而不是取得資源。 getResourceAsStream 傳回一個 InputStream,讓您可以直接從 JAR 檔案讀取資源的內容。然後,您可以使用 InputStream 建立必要的對象,例如 ConfigurationContext 或設定係統屬性。

這是使用 getResourceAsStream 的更新範例:

InputStream repositoryInputStream = WinProcessor.class.getResourceAsStream("repository");
ConfigurationContext ctx = (ConfigurationContext) ConfigurationContextFactory.createConfigurationContextFromFileSystem(repositoryInputStream, null);

InputStream fileNameInputStream = WinProcessor.class.getResourceAsStream("file_name");
System.setProperty("javax.net.ssl.trustStore", fileNameString);
登入後複製

透過使用 getResourceAsStream,您可以避免從 IDE 運行和作為 JAR 檔案執行之間的路徑差異問題。 InputStream 正確指向 JAR 中資源的位置,讓您可以存取其內容。

以上是如何在 Java 中存取 JAR 檔案中的資源?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!