Java程序中讀取外部文件時的路徑問題
阿新 • • 發佈:2018-05-06
pre 因此 AI light class類 ade 但是 sys public
轉自:https://www.cnblogs.com/wt20/p/8320346.html
項目經常會讀取一些配置文件, 因此getResource方法便能夠起到重要作用
使用時主要是兩種方法, 一個是字節碼文件Class類, 另一個是ClassLoader類加載器
使用Class類時有兩種使用方式:
1. 使用"/" 獲取到的是classpath路徑
2. 不使用"/" 這就是相對路徑
ClassLoader類
沒有"/"的寫法, 獲取到的就是classpath路徑
測試代碼
public class GetResourceTest { public static void main(String[] args) { System.out.println(GetResourceTest.class.getResource("/test.properties").getPath()); System.out.println(GetResourceTest.class.getResource("test1.properties").getPath()); System.out.println(GetResourceTest.class.getClassLoader().getResource("test.properties").getPath()); System.out.println(GetResourceTest.class.getClassLoader().getResource("/")); } }
結果:
/E:/IdeaJava/studyTest/out/production/studyTest/test.properties
/E:/IdeaJava/studyTest/out/production/studyTest/com/waston/Test/test1.properties
/E:/IdeaJava/studyTest/out/production/studyTest/test.properties
null
工程包結構
以上為https://www.cnblogs.com/wt20/p/8320346.html博主所寫
最近在做項目時需要對數據庫的歷史數據進行處理,由於對oracle數據庫的定時任務不熟悉所以使用Java編寫了一個定時任務
在程序中需要讀取一個ctl文件,但是,如果給定目錄的話,給客戶運行時可能由於文件放在位置出錯而不能讀取到文件,嘗試使用虛擬路徑,沒有成功,在網上搜到使用此方法可以獲取到目錄,嘗試使用,成功。
Java程序中讀取外部文件時的路徑問題