使用 Java 存取 JAR 檔案中的資源
使用 JAR 檔案時,可能需要擷取嵌入資源的路徑。但是,嘗試使用以下技術來取得路徑:
ClassLoader classLoader = getClass().getClassLoader(); File file = new File(classLoader.getResource("config/netclient.p").getFile());
可能會產生錯誤,指示找不到指定的檔案。此行為是 Java JAR 檔案結構所固有的。
導致此結果的原因是 JAR 中包含的資源不一定可以作為檔案系統上的單獨檔案使用。它們可能會被壓縮或儲存在存檔中,從而無法直接存取檔案系統。
此外,依賴 java.io.File 進行資源存取可能不是最有效或可移植的方法。相反,請考慮以下選項:
classLoader.getResource("config/netclient.p")
這種方法提供了對資源流的訪問,但不提供檔案路徑。
InputStream in = classLoader.getResourceAsStream("config/netclient.p"); FileOutputStream out = new FileOutputStream(new File("tmp/" + fileName));
這允許您在指定的暫存目錄中建立資源的檔案版本。
以上是如何使用 Java 存取 JAR 檔案中嵌入的資源?的詳細內容。更多資訊請關注PHP中文網其他相關文章!