在Java 中將資源作為檔案存取
在Java 中,最好將JAR 中捆綁的檔案視為磁碟上的普通文件。問題出現了:如何根據從類別載入器擷取到的資源建構 File 實例?這種困境與需要在運行時從 JAR(預設行為)或使用者定義的檔案系統目錄載入檔案的應用程式有關。
理想的方法是完全避免使用 java.io.File。解決方案在於利用類別路徑載入目錄並列出其內容。這可以透過以下步驟來實現:
1.將目錄載入為資源
URL dir_url = ClassLoader.getSystemResource(dir_path);
此行載入指定的dir_path 作為資源URL,無論它位於JAR中還是其他位置。
2.將資源轉換為檔案
File dir = new File(dir_url.toURI());
toURI() 方法將資源 URL 轉換為 URI,然後可用來建立 File 實例。
3.列出目錄
String[] files = dir.list();
最後,在 File 物件上使用 list() 方法提供目錄中包含的所有檔案和實體的清單。
這種方法消除了需要處理 java.io.File 並將資源管理與文件處理無縫整合。它還確保一致的文件處理,無論來源如何(JAR 與文件系統)。
以上是如何在 Java 中以檔案形式存取 JAR 資源?的詳細內容。更多資訊請關注PHP中文網其他相關文章!