首頁 >Java >java教程 >為什麼從 JAR 載入資源時 getResourceAsStream 回傳 Null?

為什麼從 JAR 載入資源時 getResourceAsStream 回傳 Null?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-26 08:42:09706瀏覽

Why Does getResourceAsStream Return Null When Loading Resources from a JAR?

從JAR 載入資源時getResourceAsStream 傳回Null

嘗試使用Class::getResourceAsStream 從JAR 套件載入文字檔案時,您可能會遇到空返回值。若要解決此問題,請考慮以下事項:

Lifepaths.class.getClass().getResourceAsStream(...) 方法使用系統類別載入器,該載入器可能無法存取 JAR 中的資源。相反,使用 Lifepaths.class.getResourceAsStream(...) 來利用載入 Lifepaths 類別的類別載入器,確保存取 JAR 資源。

呼叫 getResourceAsStream(name) 時,請確保名稱以 a 開頭正斜線「/」。通常建議採用這種做法,以避免潛在的問題。

以下是更正程式碼的範例:

public static void execute() {
    System.out.println(Lifepaths.class.getResourceAsStream("/initialization/Lifepaths.txt"));
}

以上是為什麼從 JAR 載入資源時 getResourceAsStream 回傳 Null?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn