1. 程式人生 > >Java程序中讀取外部文件時的路徑問題

Java程序中讀取外部文件時的路徑問題

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程序中讀取外部文件時的路徑問題