簡體   English   中英

從JAR獲取File對象的任何方法

[英]Any way to get a File object from a JAR

我有一個JAR文件,其中包含使用外部模型文件的API。 我想將模型文件包含在JAR本身中,以便其他開發人員更容易使用。 該API僅接受File對象,有什么方法可以做到這一點? 我已經嘗試了以下方法,但它們失敗了:

  • 使用class.getResourceAsStream()。 如果API接受了InputStream,這將起作用。
  • 解析類路徑並嘗試從條目進行構建(JAR將顯示為app.jar)

我想一個選項是使用getResourceAsStream並將文件移動到HDD上的永久位置,但是,我不喜歡該選項。 必須有更好的東西,有什么想法嗎?

.jar文件中的資源不是操作系統可以直接通過普通文件訪問API訪問的文件。

而且,由於java.io.File恰好表示該類型的文件(即,在操作系統中看起來像文件的東西),因此它不能用於引用.jar文件中的任何內容。

一個可能的解決方法是將資源提取到一個臨時文件中,並使用File引用。

請注意,通常應將嘗試處理文件的API編寫為也處理InputStream / OutputStream ,以允許進行此類操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM