分类:
2008-10-28 17:46:41
import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.Enumeration; import java.util.Properties;
public class ConfigInfo {
// 根据key读取value public static String readValue(String filePath, String key) { Properties props = new Properties(); try { InputStream in = new BufferedInputStream(new FileInputStream( filePath)); props.load(in); String value = props.getProperty(key); return value; } catch (Exception e) { e.printStackTrace(); System.err.println("ConfigInfoError" + e.toString()); return null; } }
// 读取properties的全部信息 public static void readProperties(String filePath) { Properties props = new Properties(); try { InputStream in = new BufferedInputStream(new FileInputStream( filePath)); props.load(in); Enumeration en = props.propertyNames(); while (en.hasMoreElements()) { String key = (String) en.nextElement(); String Property = props.getProperty(key); System.out.println(key + Property); } } catch (Exception e) { e.printStackTrace(); System.err.println("ConfigInfoError" + e.toString()); } }
// 写入properties信息 public static void writeProperties(String filePath, String parameterName, String parameterValue) { Properties prop = new Properties(); try { InputStream fis = new FileInputStream(filePath); // 从输入流中读取属性列表(键和元素对) prop.load(fis); // 调用 Hashtable 的方法 put。使用 getProperty 方法提供并行性。 // 强制要求为属性的键和值使用字符串。返回值是 Hashtable 调用 put 的结果。 OutputStream fos = new FileOutputStream(filePath); prop.setProperty(parameterName, parameterValue); // 以适合使用 load 方法加载到 Properties 表中的格式, // 将此 Properties 表中的属性列表(键和元素对)写入输出流 prop.store(fos, "Update '" + parameterName + "' value"); } catch (IOException e) { e.printStackTrace(); } }
public static void main(String args[]) { String filePath="/a.properties"; System.out.println(ConfigInfo.readValue(filePath, "error.winsock")); }
}
//a.properties
error.splash.exit= Web Start splash screen process exiting .....\n error.winsock=tLast WinSock Error: error.winsock.load=Couldn't load winsock.dll error.winsock.start=WSAStartup failed error.badinst.nohome=Bad installation: JAVAWS_HOME not set error.splash.noimage=Splash: couldn't load splash screen image error.splash.socket=Splash: server socket failed error.splash.cmnd=Splash: unrecognized command error.splash.port=Splash: port not specified error.splash.send=Splash: send failed error.splash.timer=Splash: couldn't create shutdown timer error.splash.x11.open=Splash: Can't open X11 display error.splash.x11.connect=Splash: X11 connection failed
}