首頁  >  文章  >  Java  >  如何一致地存取 JAR 中的嵌入資源?

如何一致地存取 JAR 中的嵌入資源?

Barbara Streisand
Barbara Streisand原創
2024-11-06 08:26:02838瀏覽

How to access embedded resources in a JAR consistently?

從JAR 載入資源

存取JAR 存檔中嵌入的資源時,開發人員通常會遇到IDE 期間取得的資源路徑間的差異執行以及透過JAR 運行應用程式時。在 IDE 的上下文中,直接從檔案系統存取資源,而在 JAR 環境中,路徑會以存檔的前綴(例如「jar:/root/app.jar!/」)進行裝飾。

要解決此問題並保持一致的資源存取機制,請注意以下建議:

利用getResourceAsStream

避免使用FileInputStream 或類似方法載入資源的誘惑。相反,利用 getResourceAsStream() 方法檢索資源作為輸入流,可以方便地從中讀取資料。

避免直接文件系統訪問

如果您代碼依賴於將資源作為存儲在文件系統中的單個文件進行訪問,避免將這些資源打包在JAR 文件中。考慮另一種安排,例如將它們維護為單獨的文件。

考慮臨時文件提取

作為最後的手段,您可以探索涉及以下步驟的黑客解決方案:

  1. 檢查資源是否位於JAR 內的單獨檔案中。
  2. 如果不是,請將資源提取到臨時檔案。
  3. 利用在您的應用程式中根據需要提取檔案。

雖然這種方法可能有效,但其隨意性表明應謹慎使用。

以上是如何一致地存取 JAR 中的嵌入資源?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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