專案執行過程中修改.properties檔案問題
阿新 • • 發佈:2019-01-01
專案執行過程中需要修改配置檔案的程式碼。菜鳥貼出記錄自己成長。。
/**
showOu 要修改為的值*/
public void setAttribute(String value) {
OutputStream out = null;
InputStream in = null;
if(showOu == null){
showOu = "ou";
}
try {
//獲取伺服器上配置檔案所在位置
File file = new File(com.avicit.tools.GetSystemPath.getClassesPath() + "show.properties");
if (!file.exists())
file.createNewFile();
in = new FileInputStream(file);
Properties p = new Properties();
p.load(in);
in.close();
p.setProperty("Attr_name", value);
//out的位置很重要。一定要在setProperties之後。不然會把原來的所有其他屬性覆蓋掉
out = new FileOutputStream(file);
//將修改後的檔案存回去
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
finally{
try {
if(out != null){
out.close();
}
if(in != null){
in.close();
}
}
catch (IOException e) {
e.printStackTrace();
}
}
}
注意每次修改後的配置檔案在本地是不會變的,因為路徑獲取的是伺服器上的路徑,修改的也為伺服器上的配置檔案。
如果在專案執行過程中修改了配置檔案,則再次讀取配置檔案之前要重新從伺服器上讀取一次,因為會有配置檔案的快取,不再次讀取的話還是修改以前的值。