- 浏览: 171306 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
surfingll:
思路不错,赞一个
站内信的实现:数据库的设计 -
shakajava:
哎,都是千篇一律的东西
站内信的实现:数据库的设计 -
java_xiaoyi:
不错...
java API -
tonysmith:
兄弟说的太对了。干活用了一年多,考官一问,只知其一。这是个“杯 ...
Java 中的访问权限控制 -
上官车月:
像牛一样的干了一年多,除了工作和加班 还真没有想过,基础的东西 ...
Java 中的访问权限控制
使用J2SE读取Properties文件的六种方式:
1.使用java.util.Properties类的load()方法:
- InputStream in = new BufferedInputStream(new FileInputStream(FILENAME));
- Properties p = new Properties();
- p.load(in);
InputStream in = new BufferedInputStream(new FileInputStream(FILENAME)); Properties p = new Properties(); p.load(in);
2.使用java.util.ResourceBunld类的getBundle()方法:
ResourceBundle rb = ResourceBundle.ResourceBundle.getBundle(FILENAME,Locale.getDefault())
3.使用PropertyResourceBundle
- InputStream in = new BufferedInputStream(new FileInputStream(name));
- ResourceBundle rb = new PropertyResourceBundle(in);
InputStream in = new BufferedInputStream(new FileInputStream(name)); ResourceBundle rb = new PropertyResourceBundle(in);
4.使用Class类的getResourceAsStream(String name)
5.使用class.getClassLoader()所得到的java.lang.ClassLoader的getResourceAsStream()方法
6.使用java.lang.ClassLoader类的getSystemResourceAsStream()静态方法
下面转自:http://blog.csdn.net/bincavin/archive/2010/03/09/5359047.aspx
通常,在实际项目中,为了便于配置管理,我们需要将一些配置管理信息存储在.properties文件中,然后直接从中读取,这样就避免了很多硬编码。下面,通过一个例子,详细讲解如何读取.properties文件的数据。
1.建立一个包config,专门存放.properties等配置文件,在config包下建一个文件a.properties,为了便于测试,在a.properties下添加如下信息:
name=kaka
age=28
2.建立一个包prop,用来测试。在prop包下建立LoadProp.java文件。
3.有很多方法来读取.properties文件,现将主要方法罗列出来:
a.通过class的getResourceAsStream()方法来读取
- package prop;
- import java.io.IOException;
- import java.io.InputStream;
- import java.util.Properties;
- public class LoadProp {
- public static void main(String[] args) {
- LoadProp loadProp = new LoadProp();
- InputStream in = loadProp.getClass().getResourceAsStream("/config/a.properties");
- Properties prop = new Properties();
- try {
- prop.load(in);
- } catch (IOException e) {
- e.printStackTrace();
- }
- System.out.println(prop.getProperty("name", "none"));
- System.out.println(prop.getProperty("age", "none"));
- }
- }
package prop; import java.io.IOException; import java.io.InputStream; import java.util.Properties; public class LoadProp { public static void main(String[] args) { LoadProp loadProp = new LoadProp(); InputStream in = loadProp.getClass().getResourceAsStream("/config/a.properties"); Properties prop = new Properties(); try { prop.load(in); } catch (IOException e) { e.printStackTrace(); } System.out.println(prop.getProperty("name", "none")); System.out.println(prop.getProperty("age", "none")); } }
一定要注意的是,class里的getResourceAsStream()方法里参数的类路径一定要在前面加上"/",否则会报错
b.使用class的getClassLoader()方法所得的ClassLoader的getResourceAsStream()来读取 package prop;
- import java.io.IOException;
- import java.io.InputStream;
- import java.util.Properties;
- public class LoadProp {
- public static void main(String[] args) {
- LoadProp loadProp = new LoadProp();
- InputStream in = loadProp.getClass().getClassLoader().getResourceAsStream("config/a.properties");
- Properties prop = new Properties();
- try {
- prop.load(in);
- } catch (IOException e) {
- e.printStackTrace();
- }
- System.out.println(prop.getProperty("name", "none"));
- System.out.println(prop.getProperty("age", "none"));
- }
- }
import java.io.IOException; import java.io.InputStream; import java.util.Properties; public class LoadProp { public static void main(String[] args) { LoadProp loadProp = new LoadProp(); InputStream in = loadProp.getClass().getClassLoader().getResourceAsStream("config/a.properties"); Properties prop = new Properties(); try { prop.load(in); } catch (IOException e) { e.printStackTrace(); } System.out.println(prop.getProperty("name", "none")); System.out.println(prop.getProperty("age", "none")); } }
ClassLoader的getResourceAsStream()方法与Class的getResourceAsStream()方法有点区别,在这里一定不要在类路径前面加上"/",否则会报错,是不是很奇怪。
c.使用ResourceBundle来读取
- package prop;
- import java.util.ResourceBundle;
- public class LoadProp {
- public static void main(String[] args) {
- ResourceBundle rb = ResourceBundle.getBundle("config/a");
- System.out.println(rb.getString("name"));
- System.out.println(rb.getString("age"));
- }
- }
package prop; import java.util.ResourceBundle; public class LoadProp { public static void main(String[] args) { ResourceBundle rb = ResourceBundle.getBundle("config/a"); System.out.println(rb.getString("name")); System.out.println(rb.getString("age")); } }
注意,getBundle()方法里的参数,是baseName,不要把后缀名写出来,并且不要加"/"。
好了,这是读取.properties文件的几种主要方法,还有其他的方法,基本上都大同小异。另外,在Servlet中可以使用javax.servlet.ServletContext的getResourceAsStream()方法来读取.properties文件,这里就不详述了。
发表评论
-
HashMap HashTable区别
2012-03-05 15:52 1084我想先问一个问题:为什么hashmap允许key可以为null ... -
字符串比较之 “==”和 “equals”
2012-03-05 13:04 870字符串比较之 “==”和 “equals” 提示:引用 ... -
介绍一下抽象类和接口的异同
2012-03-02 16:27 1068我把基本的弄成了表格形式的。下载附件吧。本想吧table co ... -
Java 中的上转型对象 使用
2012-03-02 15:34 5493呵呵。最近交接工作比较闲,顺便温习一下基础的知识吧: 今天看 ... -
最好的学习地址:Java开源框架SSH 和 ANT的学习地址
2012-02-29 15:44 1001给大家推荐一个我经常去看的网站:这个网站适合初级程序员,学生, ... -
Java 中的访问权限控制
2012-02-29 15:39 2078要辞职了,突然觉得这 ... -
JDK和JRE的区别
2012-02-29 12:17 1141<!--end: blogStats -->< ... -
Java 接口学习笔记
2012-02-26 02:23 3java语言不支持一个类有多个直接的父类(多继承),但可以实现 ... -
浅谈HTTP中Get与Post的区别(转)
2012-02-15 12:24 1126浅谈HTTP中Get与Post的区别 Http ... -
JDK中的URLConnection参数详解(转)
2012-02-15 11:51 1277JDK中的URLConnection参数 ... -
Java利用HttpURLConnection发送post请求上传文件
2012-02-14 10:58 2057在页面里实现上传文件不是什么难事,写个form,加上encty ... -
Java 存储过程 Mysql
2011-12-20 12:16 1293一:Java如何实现对存储过程的调用: A:不带输出参数的 ... -
spring jdbcTemplate
2011-12-08 11:08 982先看applicationContext.xml配置文件: ... -
MyEclipse 8.6 download 官方下载地址
2011-12-07 14:28 1408Downloads: MyEclipse 8.6 for Ec ... -
windows下架设svn服务器
2011-12-07 11:36 883* 传统的Subversion 服务器 ... -
tomcat7.0 manager app和host manager web管理(转)
2011-12-07 11:23 10797在捣腾Tomcat 7的时候遇到一个问题,很多人对tomc ... -
Tomcat7.0 Error:java.lang.NoClassDefFoundError
2011-12-07 10:34 1280前面一段时间看到Tomcat7.0发布了几个测试版,由于没有稳 ... -
tomcat5.5 Error:cannot find the declaration of element 'web-app'
2011-12-05 12:01 2071tomcat 启动:cannot find the decla ... -
设置 session 失效时间的方法(转)
2011-09-21 09:57 1180具体设置很简单,方法有三种: (1) 在主页面或者公共页 ... -
Java读取properties文件的思考
2011-07-19 10:24 984Java读取properties文件的思考 Java读 ...
相关推荐
J2SE API读取Properties文件六种方法,相当经典。
使用java.util.Properties类的load()方法 示例: InputStream in = lnew BufferedInputStream(new FileInputStream(name)); Properties p = new Properties(); p.load(in); 2。使用java.util....
API读取Properties文件的六种方法2009-03-02 08:57使用J2SE API读取Properties文件的六种方法 1。使用java.util.Properties类的load()方法 示例: InputStream in = lnew BufferedInputStream(new FileInputStream...
NULL 博文链接:https://hailong886.iteye.com/blog/297368
j2se编写的午饭随机选取系统,方便不知道中午吃什么的用户,随机抽取中饭吃什么。其中技术有:随机数,文件读取,j2se,JTable,DefaultTableModel,隐藏文件,显示文件等等!
j2se程序在MyEclipse下使用j2se程序在MyEclipse下使用j2se程序在MyEclipse下使用j2se程序在MyEclipse下使用j2se程序在MyEclipse下使用
sun从J2ME中去除了J2SE中的Properties相关类,所以J2ME不能直接使用现成自带的包实现Properties的相关功能,这里将介绍如何在J2ME中实现类似于J2SE中的类Properties的功能!本文包含了详尽的说明加代码!
J2EE与J2SE项目中路径获取的几种方式
我也没闹明白,两种不同的注释,用wsimport工具生成的代码为什么不同,固执认为j2se(不依赖第3方jar包 xfire cfx a..)可以开发和调用webService 最后终于闹好了,看来还是自己还是对的,应为这个东西搞了两天 ...
自已动手写的一个基于j2se标准、ftp协议实现的文件上传源代码。里边下载功能的代码也写好了。只是没有添加到界面上,想要的可以自已动手加进去 有什么好的意见也可提出来。
J2SE_API、J2SE_API、J2SE_API、J2SE_API、J2SE_API、J2SE_API、J2SE_API
压缩文件2,由于50兆上传限制,基于j2se 7.0 update21文档制作
J2SE基础知识大全 J2SE基础知识大全 J2SE基础知识大全
实例按照实例顺序存放,即:实例1、实例2……。读者能很方便的查找到所需的实例。...即只要JDK安装正确即可使用java命令正确运行 的实例。无论有无说明文件,请读者仍然以书本上介绍的运行方法为基础。
J2SE基础源代码
J2SE课件J2SE课件J2SE课件J2SE课件J2SE课件J2SE课件
j2se1.5中文api
j2se doc 中文版 j2se doc 中文版 j2se doc 中文版 j2se doc 中文版
很好的j2se的API
解决j2se中导出jar文件不能显示图片问题,一个word文档!