package framework.util; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Properties; public class PropFile { /** * 打开*.properties * * @param fileName * @return */ public static PropFile open(String fileName){ return new PropFile(fileName); } private PropFile(String fileName) { this.fileName = fileName; File f = new File(this.fileName); if(!f.exists()){ try { FileOutputStream fos = new FileOutputStream(f); fos.flush(); fos.close(); } catch (Exception e) { } } } private String fileName; /** * 读取所有属性 * * @return */ public Map read(){ Properties p = new Properties();// ���������ļ���ȡ�� FileInputStream in = null; try { // propertiesFileName��test.properties in = new FileInputStream(fileName); p.load(in); in.close();// �����˹ر� Map map = new HashMap(); Iterator it = p.keySet().iterator(); while(it.hasNext()){ String name = it.next().toString(); map.put(name, p.getProperty(name, null)); } return map; } catch (Throwable e) { }finally{ try{ in.close(); }catch(Throwable e){ } } return null; } /** * 读取指定属性 * * @param propertyName * @param defaultValue * @return */ public String read(String propertyName, String defaultValue) { Properties p = new Properties();// ���������ļ���ȡ�� FileInputStream in = null; try { // propertiesFileName��test.properties in = new FileInputStream(fileName); p.load(in); in.close();// �����˹ر� return p.getProperty(propertyName, defaultValue); } catch (Throwable e) { e.printStackTrace(); }finally{ try{ in.close(); }catch(Throwable e){ } } return defaultValue; } /** * 写属性值 * @param propertyName * @param propertyValue * @return */ public boolean write(String propertyName, String propertyValue) { Properties p = new Properties(); FileInputStream in = null; FileOutputStream out = null; try{ in = new FileInputStream(fileName); p.load(in);// in.close(); }catch(Throwable e){ }finally{ try{ in.close(); }catch(Throwable e){ } } try { p.setProperty(propertyName, propertyValue);// ��������ֵ���粻���Բ������½� out = new FileOutputStream(fileName);// ����� p.store(out, "");// ��������ͷ���粻�����ã���Ѻ���һ����""�滻�� out.flush();// ��ջ��棬д����� out.close();// �ر������ return true; } catch (Throwable e) { }finally{ try{ out.close(); }catch(Throwable e){ } } return false; } }