用java读取properties文件--转
今天为了通过java读取properties文件,google了很长时间,终于找到了。现在特记录之和大家一起分享。
下面直接贴出代码:java类
public class Mytest
public static void readFile(String fileName) {//传入参数fileName是要读取的资源文件的文件名如(file.properties)
InputStream in = null;
Properties pros = new Properties();
try {
if (null != fileName) {
//前提是资源文件必须和Mytest类在同一个包下
in = Mytest.class.getResourceAsStream(fileName);
//得到当前类的路径,并把资源文件名作为输入流
pros.load(in);
Enumeration en = pros.propertyNames();//得到资源文件中的所有key值
while (en.hasMoreElements()) {
String key = (String) en.nextElement();
System.out.println("key=" + key + " value=" + pros.getProperty(key));
//输出资源文件中的key与value值
}
}
} catch (IOException e) {
e.printStackTrace();
System.out.println("读取资源文件出错");
} finally {
try {
if (null != in) {
in.close();
}
} catch (IOException e) {
e.printStackTrace();
System.out.println("关闭流失败");
}
} }
方法二:
import java.util.MissingResourceException;
import java.util.ResourceBundle; public class Messages {
private static final String BUNDLE_NAME = "com.xxx.cs.mm.service.messages"; //messages.properties文件和Messages类在同一个包下,包名:com.xxx.cs.mm.service private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME); private Messages() {
} public static String getString(String key) {
try {
return RESOURCE_BUNDLE.getString(key);
} catch (MissingResourceException e) {
return '!' + key + '!';
}
}
}
转自:http://duqiangcise.iteye.com/blog/319793
使用J2SE API读取Properties文件的六种方法
1。使用java.util.Properties类的load()方法
示例: InputStream in = lnew BufferedInputStream(new FileInputStream(name));
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);
注意:
this.getclass.getResourceAsStream(name); //类与资源文件同级--同一个目录下
this.class.getClassLoader().getResourceAsStream(name); //资源文件与classpath同级。
未知来源
最新文章
- 腾讯 auth_token
- call、apply、bind的区别
- Pro ASP.NET MVC –第六章 MVC的基本工具
- BED format
- leetcode 41 First Missing Positive ---java
- csu 1312 榜单(模拟题)
- 基于SAML的单点登录介绍
- HTTP 协议实现
- LaTeX中表格多行显示的最简单设置方法
- php与web页面交互
- AngularJS 全局scope与指令 scope通信
- Django Windows环境下部署
- 分享一个基于ssm框架下的webService接口开发
- js 算數(Math)對象
- CGLIB代理基础
- Webwork【05】请求跳转前 xwork.xml 的读取
- vim学习日志(8):linux查看和修改文件编码
- Angular6
- javascrict中innerhtml和innerText的关系
- 关于java.lang.Exception:No tests found matching的一系列解决方法