亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java資源作為文件

Java資源作為文件

喵喵時光機 2019-07-20 10:12:06
Java資源作為文件在Java中是否有一種方法可以在通過類加載器從JAR檢索的資源上構造一個File實例?我的應用程序使用JAR(默認)或運行時指定的文件系統目錄(用戶輸入)中的一些文件。我在尋找一種一致的方法(A)將這些文件作為流加載(B)分別列出用戶定義目錄中的文件或jar中的目錄。編輯:顯然,理想的方法是完全遠離java.io.File。是否有方法從類路徑加載目錄并列出其內容(包含在其中的文件/實體)?
查看完整描述

3 回答

?
MYYA

TA貢獻1868條經驗 獲得超4個贊

ClassLoader.getResourceAsStreamClass.getResourceAsStream絕對是加載資源數據的方法。但是,我不認為有任何方法可以“列出”類路徑元素的內容。

在某些情況下,這可能是不可能的-例如,ClassLoader 根據請求的資源名稱動態生成數據。如果你看看ClassLoaderAPI(基本上就是類路徑機制的工作原理)您將看到沒有什么可以做您想做的事情。

如果你知道你真的有一個JAR文件,你可以用ZipInputStream找出可用的東西。這意味著您將對目錄和JAR文件有不同的代碼。

如果文件是單獨創建的,另一種方法是包含可用資源列表的清單文件。將其打包到JAR文件中,或者將其作為文件系統包含在文件系統中,并在為用戶提供資源選擇之前加載它。


查看完整回答
反對 回復 2019-07-20
?
九州編程

TA貢獻1785條經驗 獲得超4個贊

我也遇到了同樣的問題,能夠使用以下方法:


// Load the directory as a resource

URL dir_url = ClassLoader.getSystemResource(dir_path);

// Turn the resource into a File object

File dir = new File(dir_url.toURI());

// List the directory

String files = dir.list()


查看完整回答
反對 回復 2019-07-20
  • 3 回答
  • 0 關注
  • 449 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號