PropertyUtil属性文件读写工具类

来源:互联网 发布:简单的宏程序编程 编辑:程序博客网 时间:2024/05/29 15:47
/** * PropertyUtil属性文件读写工具类 */public class PropertyUtil {/** * 指定property文件 */public static final String PROPERTY_FILE =WindowsUtil.getOSName().equals("Windows XP")? "c:/windows/config.properties":"d:\\config.properties";public static final String LOG_FILE = "c:/windows/EcollectLog.properties";/** * 根据Key 读取Value *  * @param key * @return */public static String readData(String key) {Properties props = new Properties();try {InputStream in = new BufferedInputStream(new FileInputStream(PROPERTY_FILE));props.load(in);in.close();String value = props.getProperty(key);return value;} catch (Exception e) {e.printStackTrace();return null;}}/** * 修改或添加键值对 如果key存在,修改 反之,添加。 *  * @param key * @param value */public static void writeData(String key, String value) {Properties prop = new Properties();try {File file = new File(PROPERTY_FILE);if (!file.exists())file.createNewFile();InputStream fis = new FileInputStream(file);prop.load(fis);fis.close();//一定要在修改值之前关闭fisOutputStream fos = new FileOutputStream(PROPERTY_FILE);prop.setProperty(key, value);prop.store(fos, "Update '" + key + "' value");fos.close();} catch (IOException e) {System.err.println("Visit " + PROPERTY_FILE + " for updating "+ value + " value error");}}/** * 获取参数对象 * @return */public static Parameter getParameterByFile(){Parameter p = null;File f = new File(PROPERTY_FILE);if(f.exists()){p = new Parameter();p.setIp(readData("ip"));p.setPort(readData("port"));p.setLocalFolder(readData("localFolder"));p.setLocalFolder2(readData("localFolder2"));p.setLocalFolder3(readData("localFolder3"));p.setUsername(readData("username"));p.setPassword(readData("password"));}return p;}public static void main(String[] args) {PropertyUtil.writeData("ip", "192.168.1.1");PropertyUtil.writeData("port", "21");PropertyUtil.writeData("username", "ddb");PropertyUtil.writeData("password", "ddd2");PropertyUtil.writeData("localFolder", "d:\\dwg");}}

原创粉丝点击