Maven項目獲取資源文件路徑並讀取資源文件內容

使用IDEA新建一個Maven項目
在這裏插入圖片描述
項目結構以下
在這裏插入圖片描述
項目主要結構java

demo/
	src/
	    main/
	        java/
	        resources/   # 資源路徑
	target/
	    classes/         # 編譯後文件

resources文件夾下的文件在編譯後,都放在了根目錄classes之下bash

1、獲取項目路徑

package com.demo;

import java.net.URL;


public class App {

    public static void main(String[] args) {

        //項目根路徑
        URL url1 = App.class.getClassLoader().getResource("");
        System.out.println(url1.getPath());

        // 項目根路徑
        URL url2 = App.class.getResource("/");
        System.out.println(url2.getPath());

        // 文件根路徑
        URL url3 = App.class.getResource("");
        System.out.println(url3.getPath());
    }
}

輸出結果(省略/demo前的路徑,只看後面的路徑)ide

/demo/target/classes/
/demo/target/classes/
/demo/target/classes/com/demo/

2、讀取文件

/demo/src/main/resources/name.txturl

Tom
Jack
Jobs

讀取文件內容spa

package com.demo;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.net.URL;


public class App {

    public static void main(String[] args) throws IOException {


        URL url = App.class.getResource("/name.txt");
        String filename = url.getPath();
        System.out.println(filename);
        // /demo/target/classes/name.txt

        BufferedReader reader = new BufferedReader(new FileReader(filename));
        String  line ;

        while ((line = reader.readLine())!= null){
            System.out.println(line);
        }
        
        reader.close();
    }
}

輸出結果code

Tom
Jack
Jobs

參考
Maven獲取resources的文件路徑、讀取resources的文件blog

相關文章
相關標籤/搜索