FileInputStream讀取properties系統找不到指定的路徑
阿新 • • 發佈:2019-02-01
import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.Properties; public class PropertyEditor { public static void main(String[] args) throws Exception { Properties prop = new Properties();// 屬性集合物件 FileInputStream fis = new FileInputStream("WebRoot\\WEB-INF\\classes\\prop.properties");// 屬性檔案輸入流 //InputStream fis = ResourceUtil.class.getClassLoader() //.getResourceAsStream("tocomTDSGW.properties"); prop.load(fis);// 將屬性檔案流裝載到Properties物件中 fis.close();// 關閉流 // 獲取屬性值,sitename已在檔案中定義 System.out.println("獲取屬性值:a=" + prop.getProperty("a")); // 獲取屬性值,country未在檔案中定義,將在此程式中返回一個預設值,但並不修改屬性檔案 System.out.println("獲取屬性值:b=" + prop.getProperty("b", "中國")); // 修改sitename的屬性值 prop.setProperty("a", "fayu"); // 新增一個新的屬性studio prop.setProperty("c", "deyu"); // 檔案輸出流 FileOutputStream fos = new FileOutputStream("WebRoot\\WEB-INF\\classes\\prop.properties"); // 將Properties集合儲存到流中 prop.store(fos, "Copyright (c) Boxcode Studio"); fos.close();// 關閉流 } }
準備用properties檔案做個配置檔案,在網上當下了上面的程式碼,結果執行老是出錯,找不到檔案,於是又在網上找了關於properties檔案存放位置以及FileInputStream讀取檔案的相關資料。FileInputStream這個類讀取的相對路徑針對的是專案根目錄的。在web下可以參考如下:WebRoot\\WEB-INF\\classes\\prop.properties;如果是java專案,可以參考bin//prop.properties。