为了降低代码的耦合性,很多时候,我们需要配置文件,比如数据库的连接,这样当数据库连接变化的时候,不用修改应用程序,也不用重新编译。在java中,提供了对property类型的文件的操作,可以很方便的读取属性值,比如下面的一个property文件:
####################################
# Database Connectivity Properties
####################################
driver=org.hsqldb.jdbcDriver
url=jdbc:hsqldb:mem:jpetstore
username=db2admin
password=password
用java代码读取也很方便,例如下面的代码片段:
Properties prop = new Properties();
InputStream fis = new FileInputStream("database.properties");
prop.load(fis);
String driver = prop.getProperty("driver");
在eclipse环境下,把database.properties放在工程目录下面就可以了。但是如果开发的是一个web应用,就会发现运行之后会出文件找不到的异常。目前有两个解决方法,就是一定要把这个属性文件放在classpath路径上,在web应用中需要把它放在classes目录下面,然后用ResourceBundle读取这个属性文件,具体如下:
static{
ResourceBundle resourceBundle = ResourceBundle.getBundle("database");
System.out.println(resourceBundle.getString("driver"));
}
或者: InputStream inStream = ClassName.class.getClassLoader().getResourceAsStream("database.properties");
Properties pro = new Properties();
try {
pro.load(inStream);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
另外一种方法是把文件放在和调用类相同的目录下面,但是这个property文件会和类一起被打成jar包,调用代码如下:
Properties prop = new Properties();
InputStream fis = null;
String packageName = this.getClass().getPackage().getName();
String packageName = packageName .replaceAll("\\.", "/");
fis = this.getClass().getClassLoader().getResourceAsStream(packageName + "/database.properties");
prop.load(fis);
System.out.println("driver: " + prop.getProperty("driver"));
个人比较喜欢第一种方法
如果直接在jsp中操作,通过jsp内置对象可以获得可操作的绝对地址。
String path = pageContext.getServletContext().getRealPath("/");
String realPath = path+"/WEB-INF/classes/abc.properties";
分享到:
相关推荐
java读取配置文件 在经常更换的一些东西 就可以用配置文件
在web项目中读取yml配置文件的工具类.可以实现将 server : port : portnumber : 8081 转换为 key为"server.port.portnumber",值为"8081"的Map,String>集合
利用java可以读取配置文件信息,可以流来处理这个问题
java中读取配置文件中数据的具体方法,需要的朋友可以参考一下
使用Java读取XML配置文件
java如何读取properties配置文件
java读取properties文件的工具类,传入配置文件名字和其中的key就可以读取
在项目中我们经常要把某些常量放在配置文件中,这样修改起来会比较方便,这个工具类可以帮我们直接在java类中读取配置文件内容
该资源详细介绍了Java如何读取各种配置文件。如xml ini 等等
利用Java的Properties 类读取配置文件信息! 读取Properties文件的例子
java项目读取配置文件的实例代码,使用class.getClassLoader().getResourceAsStream方法。
纯java底层读取配置文件,生成map,可以根据key模糊匹配查询,封装好了方法。比如getVal("spring.dubbo*url")
JAVA读取配置文件(资源文件)源代码;JAVA读取配置文件(资源文件)源代码;JAVA读取配置文件(资源文件)源代码
这个工程是使用 java 来使用反射的原理读取 *.proproies 资源文件中的一些配置信息。利用此方法可以在没有使用框架的情况下可以让你的程序更加灵活易于修改。如:可以将一些数据库配置信息,重要信息写入到资源文件...
Java中XML配置文件的读取(sax)
在java类里直接读取配置文件中的信息,用到的方法是this.getClass().getClassLoader().getResourceAsStream
最近写一个小程序,需要读取保存在配置文件中的配置信息。 这是一个简单的例子,可以以这个程序为基础写一个完整的类出来。