小編給大家分享一下Java獲取jar包以外資源的方法,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
創(chuàng)新互聯(lián)專注于盤州企業(yè)網站建設,響應式網站設計,商城網站定制開發(fā)。盤州網站建設公司,為盤州等地區(qū)提供建站服務。全流程定制網站設計,專業(yè)設計,全程項目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務在使用 jar 執(zhí)行 java 代碼時,有一個需求是從 jar 包所在目錄的同級目錄下讀取配置文件的需求,從網上找了很多方法感覺都挺復雜的,
在這里總結一下.
以classpath 開頭的 URL 表示該文件為jar包內文件的路徑.
如:classpath://config/app.config表示jar包根路徑config文件夾下的app.config文件
以file開頭的URL表示該文件為jar 包外文件的路徑
如:file://./config/app.config表示
摘要
// 當前我想從jar包的同級目錄下讀取一個名為 'config.txt'的文件的話,我需要指定目錄為.
File file = new File(".","config.txt")
說明
File file = new File("config.txt")
當只包含文件名稱時,java程序會默認嘗試從jar包的根路徑去讀取文件,當嘗試使用 file.getCanonicalPath() 方法讀取時,便會得到該文件在jar包內的路徑.
示例
我當前的工程的路徑為D:\WorkSpace\path_demo01\
在工程執(zhí)行以下java代碼:
當指定parent時:
會從parent下查找path資源.
log(FileUtil.file(".", "/config/app.config").getCanonicalPath()); log(FileUtil.file(".", "config/app.config").getCanonicalPath()); // D:\WorkSpace\path_demo01\config\app.config //加載與當前jar包同級目錄下的文件 log(FileUtil.file(".", "app.config").getCanonicalPath());