在web中如何更改properties檔案的內容,絕對經典!
public class PropUtil {
/** * 根據KEY,讀取檔案對應的值 *
@param filePath 檔案路徑,即檔案所在包的路徑,例如:java/util/config.properties *
@param key 鍵 *
@return key對應的值 */
public static String getProp(String filename, String key) {
try {
Properties props = new Properties();
String filepath = PropUtil.class.getClassLoader().getResource("/").getPath() + filename;
File file = new File(filepath);
InputStream in = new FileInputStream(file);
props.load(in);
in.close();
String value = props.getProperty(key);
return value;
} catch (Exception e)
{ e.printStackTrace(); return null; } }
/** * 修改或新增鍵值對 如果key存在,修改, 反之,新增。
* @param filePath 檔案路徑,即檔案所在包的路徑,例如:java/util/config.properties
* @param key 鍵 * @param value 鍵對應的值
*/
public static void setProp(String filename, String key, String value) {
try {
Properties prop = new Properties();
String filepath = PropUtil.class.getClassLoader().getResource("/").getPath() + filename;
File file = new File(filepath);
InputStream in = new FileInputStream(file);
prop.load(in); //一定要在修改值之前關閉fis
in.close();
System.out.println("filepath---------->" + filepath);
OutputStream fos = new FileOutputStream(file); prop.setProperty(key, value); //儲存,並加入註釋
prop.store(fos, "Update '" + key + "' value");
fos.flush();
fos.close();
} catch (Exception e) {
e.printStackTrace();
} } }