簡體   English   中英

Android:從資源文件加載 java.io.file

[英]Android: load java.io.file from resource file

我想在我的 Android 應用程序中使用 Java 庫。 該庫的類構造函數和方法通常采用文件路徑(配置文件、字典等),然后根據給定路徑構建 java.io.file 實例。

在我的 android 應用程序中,我想將這些文件存儲在“res”文件夾中(可能在 res/raw 中)。 問題是我必須將這些文件的路徑提供給庫的方法。

我可以使用 getResources() 輕松獲取 InputStream,但是我的庫不能直接使用它。 我必須遍歷所有以路徑為參數的方法,將其替換為 InputStream 並修改內容以處理 InputStreams 而不是 Files。 這代表了相當多的工作,我更喜歡不加修改地使用該庫並使其易於升級。

即使使用基於資源文件的 java.io.file 不是一個好習慣,有可能嗎? 如果您能指出一種方法來做到這一點,那肯定會有所幫助。

謝謝你。

如果庫使用java.io.File那么我認為在 Java 中沒有辦法做到這一點(更不用說 Java 的 Android 子集了)。 使用環回文件系統可能可以解決問題,但這取決於您的 Android 設備的內核等。

看:


如果庫使用java.nio.file.Path ,則可以實現自定義FileSystemProvider將資源映射到默認文件系統命名空間。

請注意,這是針對常規 Java 7 的。它需要相關 NIO 庫的后向端口才能使其在 Android 上運行。 我又找了一個可行的反向移植,但找不到。

看:


還有另一種“笨拙”的方法來做到這一點。 讓您的應用程序將相關資源復制到可以通過File訪問的File

暫無
暫無

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

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