1. 程式人生 > >FileInputStream讀取properties系統找不到指定的路徑

FileInputStream讀取properties系統找不到指定的路徑

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。