您的位置:首页 > 编程语言 > Java开发

java读取properties文件

2015-11-26 00:00 477 查看
摘要: java读取properties文件

一, java web方式

直接把资源文件放在src根目录下
取名为commonConfig.properties , 内容如下:

package com.t.properties;

import java.io.InputStream;
import java.util.Properties;

public class TestWeb {

public static String URL = null;
public static String DRIVERNAME = null;
public static String USERNAME = null;
public static String PWS = null;

public void GetDBConfigStr() {
Properties props = new Properties();
InputStream in;
try{
in=getClass().getResourceAsStream("/commonConfig.properties");
props.load(in);
} catch(Exception e) {
System.out.print(e.getMessage());
return ;
}
if(props.isEmpty()) {
return;
}
URL=props.get("URL").toString();
DRIVERNAME=props.get("DRIVERNAME").toString();
USERNAME=props.get("USERNAME").toString();
PWS=props.get("PWS").toString();
}

public static void main(String[] args) {
// TODO Auto-generated method stub
TestWeb tw = new TestWeb();
tw.GetDBConfigStr();
System.out.println("URL: " + tw.URL);
System.out.println("DRIVERNAME: " + tw.DRIVERNAME);
System.out.println("USERNAME: " + tw.USERNAME);
System.out.println("URL: " + tw.URL);

}

}


执行结果,这里如下:



二,还可以用过 ResourceBundle来取得。虽然它多用于软件国际化读取资源

同样在src根目录下建“a.properties”

a.aa=aaaaaaaaaaaa
a.bb=bbbbbbbbbbb
a.cc=cccccccccc


package com.t.properties;

import java.util.ResourceBundle;

public class ReadProperties {

public static void main(String[] args) {

ResourceBundle a = ResourceBundle.getBundle("a");

String aa = a.getString("a.aa");
String bb = a.getString("a.bb");
String cc = a.getString("a.cc");

System.out.println("------------------------------------------");
System.out.println("aa: " + aa);
System.out.println("bb: " + bb);
System.out.println("cc: " + cc);
System.out.println("------------------------------------------");
}

}


三, 读硬盘文件里的properties读写(支持xml)

package com.t.properties;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintStream;
import java.util.Enumeration;
import java.util.Properties;
import java.util.ResourceBundle;

public class Test {

public static void write() {

Properties p = new Properties();
p.setProperty("id","dean");
p.setProperty("password","123456");
try{
//以properties格式存
PrintStream fW1 = new PrintStream(new File("E:\\test1.properties"));
p.list(fW1 );

//以xml格式存
PrintStream fW2 = new PrintStream(new File("E:\\test1.xml"));
p.storeToXML(fW2,"test");
} catch (IOException e) {
e.printStackTrace();
}
}

public static void read() {
Properties p1 = new Properties();
Properties p2 = new Properties();
File pFile1 = new File("E:\\test1.properties");
File pFile2 = new File("E:\\test1.xml");
FileInputStream   pInStream1=null;
FileInputStream   pInStream2=null;
try {
pInStream1 = new FileInputStream(pFile1 );
pInStream2 = new FileInputStream(pFile2 );

} catch (FileNotFoundException e) {
e.printStackTrace();
}

try {
p1.load(pInStream1 );
p2.loadFromXML(pInStream2);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

System.out.println("-----------1---------------");
p1.list(System.out);
System.out.println("-----------2---------------");
p2.list(System.out);

}

public static void main(String[] args) {
System.out.println("---------------------write-------------------------");
write();

System.out.println("---------------------read-------------------------");
read();

}

}


执行结果如图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: