Java專案檔案路徑
阿新 • • 發佈:2019-01-31
讀取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
檔案是放在某個包下,最終在類路徑下會有多級包路徑