在java.util 包下面有一個類 Properties,該類主要用於讀取以項目的配置文件(以.properties結尾的文件和xml文件)。
Properties的構造函數有兩個,一個不帶參數,一個使用一個Properties對象作爲參數。
使用Properties讀取.properties文件
test.properties文件如下:
#測試環境配置:平臺路徑配置
jstrd_home=D:/TMS2006/webapp/tms2006/WEB-INF/
dbPort = localhost
databaseName = mydb
dbUserName = root
dbPassword = root
# 以下爲數據庫表信息
dbTable = mytable
# 以下爲服務器信息
ip = 192.168.0.9
讀取test.properties的方法如下:
impor java.io.*;
import java.util.*;
public class ReadProperties
{
public static void main(String[] args) {
File pFile = new File("e:\test.properties"); // properties文件放在e盤下(windows)
FileInputStream pInStream=null;
try {
pInStream = new FileInputStream(pFile );
} catch (FileNotFoundException e) {
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
}
Properties p = new Properties();
try {
p .load(pInStream ); //Properties 對象已生成,包括文件中的數據
} catch (IOException e) {
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
}
Enumeration enu = p.propertyNames(); //取出所有的key
//輸出--1
p.list(System.out) ; //System.out可以改爲其他的輸出流(包括可以輸出到文件)
//輸出--2
while( enu .hasMoreElements())
{
System.out.print("key="+enu.nextElement());
System.out.print("value="+p.getProperty((String)enu .nextElement()));
}
}
}
讀取xml格式的配置文件
test.xml文件ruxi
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<entry key="koo">bar</entry>
<entry key="fu">baz</entry>
</properties>
讀取xml的方法
import java.io.IOException;
import java.io.File;
import java.io.FileInputStream;
import java.util.Properties;
public class Test {
public static void main(String[] args) {
File pFile = new File("e:\test.xml"); // properties文件放在e盤下(windows)
FileInputStream pInStream = null;
try {
pInStream = new FileInputStream(pFile);
Properties p = new Properties();
p.loadFromXML(pInStream);
p.list(System.out);
} catch (IOException e) {
e.printStackTrace();
}
}
}
通過list 方法將Properties寫入Properties文件
import java.io.IOException;
import java.io.File;
import java.io.FileInputStream;
import java.io.PrintStream;
import java.util.Properties;
public class Test {
public static void main(String[] args) {
Properties p = new Properties();
p.setProperty("id","dean");
p.setProperty("password","123456");
try{
PrintStream fW = new PrintStream(new File("e:\test1.properties"));
p.list(fW ); } catch (IOException e) {
e.printStackTrace();
}
}
}
保存爲xml
import java.io.IOException;
import java.io.File;
import java.io.FileInputStream;
import java.io.PrintStream;
import java.util.Properties;
public class Test {
public static void main(String[] args) {
Properties p = new Properties();
p.setProperty("id","dean");
p.setProperty("password","123456");
try{
PrintStream fW = new PrintStream(new File("e:\test1.xml"));
p.storeToXML(fW,"test");
} catch (IOException e) {
e.printStackTrace();
}
}
}
文章內容分享自:http://code.google.com/p/sqbi2/