转载:http://darkranger.iteye.com/blog/352857
几种读取属性文件的JAVA实现方式(2005年)
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);
其中name为properties文件名字.但我在网上发现有人说要写properties文件的绝对路径,否则测试 不 能通过.我没验证过,有兴趣的朋友可以试试.
就我个人而言我是比较偏向用第3方法.我在网上找到一篇介绍的更为详细的文章,全文如下:
在设计时,我们往往需要访问一些适合本地修改的配置信息,如果作为静态变量,那么每次修改都需要重新编译一个class,.config保存此类信息并不适合,这时我们需要ResourceBundle。
通过ResourceBundle,我们需要访问位于/WEB-INF/classes目录下的一个后缀名为properties的文本类型文件,从里面读取我们需要的值。
Locale locale = Locale.getDefault();
ResourceBundle localResource = ResourceBundle.getBundle("ConnResource", locale);
String value = localResource.getString("test");
System.out.println("ResourceBundle: " + value);
这里对应了/WEB-INF/class/ConnResource.properties文件内容为:
test=hello world
打印出来的结果就是hello world
请注意,这里我们可以利用Locale和ResourceBundle的这个组合创建国际化的java程序。我们可以把locale实例化为
分享到:
相关推荐
以下是对在JAVA中读取属性文件的几种方法进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助
Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...
Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...
并在此基础上,详细描述了Java 2平台中新增加的许多安全结构方面的措施,同时对Java安全性的实施提出了使用指导,描绘了如何定制、扩展和精化安全结构以及成功实现的技术细节。本书为建立安全、有效、强大和可移植的...
但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地...
7.5.4 实例4:读取包含证书的文件 135 7.6 标准名 136 7.6.1 消息摘要算法 136 7.6.2 密钥和参数算法 136 7.6.3 数字签名算法 137 7.6.4 随机数产生算法 137 7.6.5 证书类型 137 7.6.6 密钥库类型 137 7.7 算法 137 ...
Java程序的配置文件都开始使用XML格式,以前是使用类似windows的INI格式(Java中也有 Propertiesy这样的类专门处理这样的属性配置文件)。使用XML作为Java的配置文件有很多好处,从Tomcat的安装配置文件和J2ee的配置...
问题 自己开发一个工具类,为第三方应用提供调用接口,但是打包后测试过程...从配置上,完全没有写错的可能,见上方的配置,所以只能从不能获取配置文件内容的几种可能着手了! 变量被static关键字所修饰 我们所需要获
34、Java创建对象有几种方式 22 35、写出验证Email的正则表达式 22 39、说出十种常见的异常 22 40什么是检查性异常和非检查性异常? 23 41、Java的异常处理机制是什么? 23 42、一个静态方法,里面可不可以用this和...
76.EJB有哪几种?区别是什么? 77.JavaBean与EJB有什么区别? 78.软件开发生命周期有哪几个阶段? 79.软件开发有哪些因素? 80.软件开发中如何进行版本控制? 81.UML中,类视图如何表示类中的继承与聚合? 82.客户端...
75、socket通信(tcp/udp区别及JAVA的实现方式) 18 76、什么是java序列化,如何实现java序列化? 18 77、简述synchronized和java.util.concurrent.locks.Lock的异同 ? 18 78、abstract class Name { private ...
实例245 读取XML文件属性 310 第3篇 窗体与控件应用 第11章 窗体设计 314 11.1 设置窗体位置 315 实例246 控制窗体加载时的位置 315 实例247 设置窗体在屏幕中的位置 315 实例248 从上次关闭位置启动窗体 316 实例...
但通常情况下,由于Java Bean是被容器所创建(如Tomcat)的,所以Java Bean应具有一个无参的构造器,另外,通常Java Bean还要实现Serializable接口用于实现Bean的持久性。Java Bean实际上相当于微软COM模型中的本地...
多线程几种实现方法,同步? 答:多线程有两种实现方法,一种是继承Thread类或者实现Runnable接口。同步就是在方法返回类型后面加上synchronized。 c#中的委托,事件是不是委托? 答:委托就是将方法作为一个参数...
这个工具类目前主要有25种正规表达式(有些不常用,但那时才仔细深入的研究了一下正规,写上瘾了,就当时能想到的都写了): 1.匹配图象; 2 匹配email地址; 3 匹配匹配并提取url ; 4 匹配并提取http ; 5.匹配日期 6...
解析XML文档有哪几种方式?(20分) 5.简述synchronized和java.util.concurrent.locks.Lock的异同 ?(15分) 6.EJB规范规定EJB中禁止的操作有哪些?(15分) 最后还有一题考考你的眼力: public String ...