首頁 > Java > java教程 > 如何存取 Java JAR 檔案內的資源路徑?

如何存取 Java JAR 檔案內的資源路徑?

Barbara Streisand
發布: 2024-12-18 00:07:11
原創
237 人瀏覽過

How Can I Access Resource Paths Inside a Java JAR File?

檢索 Java JAR 檔案中的資源路徑

在 Java 中,存取 JAR 檔案中打包的資源可能具有挑戰性。雖然串流資源內容很簡單,但要取得可存取的檔案路徑可能難以捉摸。

一種方法嘗試使用 getResource 方法建立 File 物件:

ClassLoader classLoader = getClass().getClassLoader();
File file = new File(classLoader.getResource("config/netclient.p").getFile());
登入後複製

但是,這通常會失敗FileNotFoundException,因為資源在檔案系統上可能沒有對應的檔案。

了解資源概念

JAR 檔案將資源捆綁在存檔中,這些資源可能無法作為實體檔案直接存取。類別加載器處理資源加載,並可以透過​​串流提供存取。

替代方案:串流資源內容

要在沒有檔案路徑的情況下存取資源內容,請使用:

ClassLoader classLoader = getClass().getClassLoader();
PrintInputStream(classLoader.getResourceAsStream("config/netclient.p"));
登入後複製

臨時檔案Option

如果File物件是必不可少的,請考慮將流複製到臨時檔案:

InputStream resourceStream = classLoader.getResourceAsStream("config/netclient.p");
File tempFile = File.createTempFile("resource", ".tmp");

try (OutputStream outputStream = new FileOutputStream(tempFile)) {
    resourceStream.transferTo(outputStream);
}
登入後複製

複製後,您可以根據需要操作臨時檔案。

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板