1. 程式人生 > >Java專案檔案路徑

Java專案檔案路徑

讀取Java專案中的檔案

eclipse中專案結構
這裡寫圖片描述
對應到磁碟上的目錄結構
這裡寫圖片描述
1.檔案位於專案根目錄下

File file1 = new File("folder1/a.xml");
System.out.println(file1.exists()); // true
File file2 = new File("b.xml");
System.out.println(file2.exists()); // true
InputStream in= new FileInputStream("folder1/a.xml");
System.out.println(in.available()); // 38位元組

2.檔案位於類路徑下,可利用Class物件或者ClassLoader物件去在類路徑下查詢檔案

InputStream inputStream1 = HelloWorld.class.getClassLoader().getResourceAsStream("c.xml");
System.out.println(inputStream1.available()); // 38位元組
InputStream inputStream2 = HelloWorld.class.getResourceAsStream("/c.xml");
System.out.println(inputStream2.available()); // 38位元組

注意:Class物件的getResourceAsStream(String path)方法的引數加 / 才是在類路徑下查詢檔案

Class物件與ClassLoader物件的getResourceAsStream(String path)方法區別

1.Class物件的getResourceAsStream(String path)中的path可以以 / 開頭,也可以不以 / 開頭。若以 / 開頭,表示在類路徑根目錄下查詢,不以 / 開頭,表示在當前.java檔案編譯後.class檔案所在的目錄中找
2.ClassLoader物件的getResourceAsStream(String path)中的path不以/開頭!

,表示在類路徑根目錄下查詢

類路徑根目錄(類路徑)

.java檔案編譯後的.class檔案除去所有包路徑後所在的目錄,所有的.class檔案都會放到該目錄下。若.java檔案是放在某個包下,最終在類路徑下會有多級包路徑
這裡寫圖片描述