首頁 >Java >Java基礎 >java獲取文件的路徑怎麼寫

java獲取文件的路徑怎麼寫

angryTom
angryTom原創
2019-11-12 10:38:243042瀏覽

java獲取文件的路徑怎麼寫

java取得檔案的路徑怎麼寫   

我們在上傳檔案和檔案處理的時候需要取得資源文件的路徑。但是在專案中取得的文件路徑,可能並不是我們想要的文件路徑,因為開發專案中取得的路徑與打成jar包後的路徑並不一致。 (推薦教學:java教學

1. 取得資源路徑

String filePath = this.getClass().getResource("").getPath();
System.out.println("filePath: " + filePath);

在專案開發中展示的路徑:

filePath: /home/idea/project/java_basic/selfimpr-fileupload/target/classes/com/selfimpr/fileupload/controller/

在專案打成jar套件中的路徑:

 filePath: file:/home/idea/project/java_basic/selfimpr-fileupload/target/selfimpr-fileupload-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/com/selfimpr/fileupload/controller/

2. 取得專案檔案編譯路徑

String filePath = this.getClass().getResource("/").getPath();
System.out.println("filePath: " + filePath);

在專案開發中展示的路徑:

filePath: file:/home/idea/project/java_basic/selfimpr-fileupload/target/classes/

在專案打成jar套件中的路徑: 

filePath: file:/home/idea/project/java_basic/selfimpr-fileupload/target/selfimpr-fileupload-0.0.1-SNAPSHOT.jar!/BOOT-INF/classes!/

3. 取得專案根路徑(一)

File files = new File("");
String filePath = files.getCanonicalPath();
System.out.println("filePath: " + filePath);

在專案開發中所展示的路徑:  

filePath: /home/idea/project/java_basic

在專案打成jar包中的路徑:  

filePath: /home/idea/project/java_basic/selfimpr-fileupload/target

4. 取得專案根路徑(二)

String filePath = System.getProperty("user.dir");
System.out.println("filePath: " + filePath);

在專案開發中展示的路徑: 

filePath: /home/idea/project/java_basic
在專案打成jar套件中的路徑:  

filePath : /home/idea/project/java_basic/selfimpr-fileupload/target

5.開發環境和jar環境都能使用

/*  此方法,传入参数为String,不能带/  */
resourceAsStream = this.getClass().getClassLoader().getResourceAsStream("/templates" + url);
/*  此方法,传入参数为String,不能带/  */
resourceAsStream = this.getClass().getResourceAsStream("/templates" + url);

此方法取得的專案路徑,不管是編譯期間還是打成jar包的環境,都能取得到resources路徑下的檔案。

以上是java獲取文件的路徑怎麼寫的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn