Java獲取工程jar包war包中的文件

1.相對路徑有問題

工程目錄如圖:


-- 用相對路徑的方法可以獲取跟src同一目錄下的js文件

//scripts前不要加   “/”
        FileReader file = 
        new FileReader("scripts/textchat.js");

但是這樣打包之後會找不到文件

2.使用反射

把文件放在resource目錄下

用反射獲取類文件編譯後所在目錄

然後用獲取到的路徑+相對路徑獲取文件

測試類

public class paths {

    public static void main(String args[]) throws FileNotFoundException {
    
        //下面三種方法都可以獲取相對路徑
        System.out.println(paths.class.
        getResource("/").
        getPath());
        
        System.out.println(paths.class.
        getResource("").
        getPath());
        
        System.out.println(paths.class.
        getClassLoader().getResource("").
        getPath());
        
        //獲取文件
        FileReader file = 
        new FileReader(paths.class.
        getResource("/").
        getPath()+"scripts/textchat.js");
    }
}

這樣在打包之後就可以訪問想要的文件了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章