1。使用java.util.Properties类的load()方法
示例: InputStream in = lnew BufferedInputStream(new FileInputStream(name));//(name:"src/xxxx.properties")
Properties p = new Properties();
p.load(in);
2。使用java.util.ResourceBundle类的getBundle()方法
示例: ResourceBundle rb = ResourceBundle.getBundle(name, Locale.getDefault());
3。使用java.util.PropertyResourceBundle类的构造函数
示例: InputStream in = new BufferedInputStream(new FileInputStream(name));
ResourceBundle rb = new PropertyResourceBundle(in);
4。使用class变量的getResourceAsStream()方法
示例: InputStream in = JProperties.class.getResourceAsStream(name);
Properties p = new Properties();
p.load(in);
5。使用class.getClassLoader()所得到的java.lang.ClassLoader的getResourceAsStream()方法
示例: InputStream in = JProperties.class.getClassLoader().getResourceAsStream(name);
Properties p = new Properties();
p.load(in);
6。使用java.lang.ClassLoader类的getSystemResourceAsStream()静态方法
示例: InputStream in = ClassLoader.getSystemResourceAsStream(name);
Properties p = new Properties();
p.load(in);
补充
Servlet中可以使用javax.servlet.ServletContext的getResourceAsStream()方法
示例:InputStream in = context.getResourceAsStream(path);
Properties p = new Properties();
p.load(in);
具体细节示例:(TestProperties为具体的类)
1.方法一
InputStream fis =TestProperties.class.getClassLoader().getResourceAsStream("init.properties")
2.方法二(要求TestProperties和init.properties在同一目录下)
InputStream fis =TestProperties.class.getResourceAsStream("init.properties")
3.方法三,对于Web工程也可以这样。
先获取ServletContext,然后
InputStream in=context.getResourceAsStream("/WEB-INF/classes/init.properties");
其他方法:
在XML中配置:
加载properties文件:
<!-- 系统参数配置 -->
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:dcadmin.properties</value>
</list>
</property>
</bean>
dcadmin.properties:
……
findpwd.apply.url.expiredate=360
findpwd.apply.filePath=/pages/dcadmin/myAccount/findPwdApply_temp.html
……
配置保护具体属性的bean:
<bean id="dcConfig" class="com.ccxe.dc.admin.util.DcConfig" >
<property name="findapplyUrlExpiredate">
<value>${findpwd.apply.url.expiredate}</value>
</property>
<property name="findapplyPath">
<value>${findpwd.apply.filePath}</value>
</property>
<property name="findpwdUrl">
<value>${findpwd.mail.url}</value>
</property>
<property name="findpwdTitle">
<value>${findpwd.mail.title}</value>
</property>
</bean>