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<String, String> read(){
|
Properties p = new Properties();// ���������ļ���ȡ��
|
FileInputStream in = null;
|
try {
|
// propertiesFileName��test.properties
|
in = new FileInputStream(fileName);
|
p.load(in);
|
in.close();// �����˹ر�
|
|
Map<String, String> map = new HashMap<String, String>();
|
|
Iterator<Object> 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;
|
}
|
|
}
|