java中的properties文件是一种配置文件,主要用于表达配置信息,文件类型为*.properties,格式为文本文件,文件的内容是格式是”键=值”的格式,在properties
文件中,可以用”#”来作注释,properties文件在Java编程中用到的地方很多,操作很方便。
import java.io.*; import java.util.Properties; import javax.servlet.http.*; import javax.servlet.*; import javax.servlet.jsp.*; public class PropertiesUtil { private String fileName; private Properties p; private FileInputStream in; private FileOutputStream out; /** * 根据传进的文件名载入文件 */ public PropertiesUtil(String fileName) { this.fileName = fileName; File file = new File(fileName); try { in = new FileInputStream(file); p = new Properties(); // 载入文件 p.load(in); in.close(); } catch (FileNotFoundException e) { System.err.println("配置文件config.properties找不到!!"); e.printStackTrace(); } catch (Exception e) { System.err.println("读取配置文件config.properties错误!!"); e.printStackTrace(); } } /** * 配置文件一律为config.propertities,并且统一放在web应用的根目录下。 */ public static String getConfigFile(HttpServlet hs) { return getConfigFile(hs, "config.properties"); } /** * 在servlet中使用,直接用this作为参数,HttpServlet类型 根据配置文件名从当前web应用的根目录下找出配置文件 */ public static String getConfigFile(HttpServlet hs, String configFileName) { String configFile = ""; ServletContext sc = hs.getServletContext(); configFile = sc.getRealPath("/" + configFileName); if (configFile == null || configFile.equals("")) { configFile = "/" + configFileName; } return configFile; } /** * jsp中用pageContext作参数 */ public static String getConfigFile(PageContext hs, String configFileName) { String configFile = ""; ServletContext sc = hs.getServletContext(); configFile = sc.getRealPath("/" + configFileName); if (configFile == null || configFile.equals("")) { configFile = "/" + configFileName; } return configFile; } /** * 列出所有的配置文件内容 */ public void list() { p.list(System.out); } /** * 指定配置项名称,返回配置值 */ public String getValue(String itemName) { return p.getProperty(itemName); } /** * 指定配置项名称和默认值,返回配置值 */ public String getValue(String itemName, String defaultValue) { return p.getProperty(itemName, defaultValue); } /** * 设置配置项名称及其值 */ public void setValue(String itemName, String value) { p.setProperty(itemName, value); return; } /** * 保存配置文件,指定文件名和抬头描述 */ public void saveFile(String fileName, String description) throws Exception { try { File f = new File(fileName); out = new FileOutputStream(f); p.store(out, description);// 保存文件 out.close(); } catch (IOException ex) { throw new Exception("无法保存指定的配置文件:" + fileName); } } /** * 保存配置文件,指定文件名 */ public void saveFile(String fileName) throws Exception { saveFile(fileName, ""); } /** * 保存配置文件,采用原文件名 */ public void saveFile() throws Exception { if (fileName.length() == 0) throw new Exception("需指定保存的配置文件名"); saveFile(fileName); } /** * 删除一个属性 */ public void deleteValue(String value) { p.remove(value); } public static void main(String[] args) { String file = "D:\\ttt.properties"; PropertiesUtil pu = new PropertiesUtil(file); pu.list(); } }