在一个项目的开发中有时我们需要对一些属性进行配置,这些属性值能为我们整个项目所用。使用properties文件来保存这些属性是十分方便的。下面我针对具体的开发需要来编写一个从properties文件中获得属性并进行处理的程序。
在properties文件中储存的是key 和 value类似java类里的Map,key和value之间用=号或者:分开。当要进行多行输入时用\号来进行换行。如:
sina=http://www.sina.com.cn
blogjava=http://www.blogjava\
.net
在properties中保存最多的是jdbc中的参数如jdbcdriver,url,user和password,
jdbcdriver=com.mysql.jdbc.Driver
jdbcurl=jdbc:mysql://[host:port],[host:port].../[database]
jdbcuser=mysql
jdbcpassword=root
保存在jdbc.properties文件中。我使用java.util.Properties这个类来完成对properties文件的读取。
PropertiesSample:
package com.jason.sample
import java.util.Properties;
import java.io.InputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.FileNotFoundException;
import java.sql.Connection;
import java.sql.DriverManager
public class PropertiesSample{
private Properties pro = new Properties;
InputStream in = null;
public String getProperties(String arg){
//仅限于系统目录下有效如图(1),放在其他目录下会出现java.io.FileNotFoundException异常
try{
FileInputStream in = new FileInputStream("jdbc.properties");
pro.load(in);//Properties的load方法需要一个InputStream类型的参数作为属性采集源
}catch(FileNotFoundException fe){fe.printStackTrace();}
catch(IOException ie){ie.printStackTrace();}
String result = pro.getProperty("arg");
return result;
}
public void databaseexecute(){
String driver = getProperties("jdbcdriver");
Class.forName(driver);
String url = getProperties("jdbcurl");
String name = getProperties("jdbcusername");
String password = getProperties("jdbcpassword");
Connection cn = DriverManager.getConnection(url,name,password);
}
}
以上就是使用properties文件来配置jdbc的属性,当然现在大多数程序都不会这么来进行数据库的操作可能使用hibernate,和spring进行框架编程。但是属性信息还是要和代码分离。我们可一个在写一个properties文件然后在ApplicationContext.xml中进行具体的配置。
图(1)
如果我们的properties不是在系统的根目录下。我们需要改变一下上面那个InputStream法。
//这是properties于PropertiesSample在同一文件夹下。如图(2)
InputStream in = this.getClass.getResourceAsStream("jdbc.properties");
//这是properties在PropertiesSample所在文件的根目录下如图(3)
InputStream in = this.getClass.getResourceAsStream("/jdbc.properties");
图(2)
图(三)
posted on 2006-12-25 23:59
漂泊的风 阅读(1487)
评论(0) 编辑 收藏