java如何读取.properties文件

Properties类继承了HashTable类
Properties里面存放的键和值都是字符串
Properties经常用在代码里面的一些配置文件,属性文件。
Properties用法和HashMap相类似。

另外System.getProperties()方法会返回系统所有的环境变量,返回的是一个Properties对象,读取里面的内容可以查看。




CSDN上学习总结:首先介绍读取.properties文件的六种方法

1.使用java.util.Properties类里的load()方法
例如:InputStream in = new BufferedInputStream(new FileInputStream(name));
Properties p = new Properties();
p.load(in);

2.使用class变量的getResourceAsStream()方法
例如:InputStream in = JProperties.class.getResourceAsStream(name);
Properties p = new Properties();
p.load(in);

3.使用java.lang.ClassLoader类的getSystemResourceAsStream()方法
例如:InputStream in = ClassLoader.getSystemResourceAsStream(name);
Properties p = new Properties();
p.load(in);

4.使用class.getClassLoader()所得到的java.lang.ClassLoader的getResourceAsStream()方法
例如:InputStream in = JProperties.class.getClassLoader().getResourceAsStream(name);
Properties p = new Properties();
p.load(in);

5.使用java.util.ResourceBundle类的getBundle()方法
例如:ResourceBundle rb = ResourceBundle.getBundle(name, Locale.getDefault());

6.使用java.util.PropertyResourceBundle类的构造函数
例如:InputStream in = new BufferedInputStream(new FileInputStream(name));
ResourceBundle rb = new PropertyResourceBundle(in);

下面再做一些补充说明:
1.如果用servlet开发还可以使用javax.servlet.ServletContext的getResourceAsStream()方法
例如:InputStream in = context.getResourceAsStream(path);
Properties p = new Properties();
p.load(in);

2.在将工程打成jar包之后里面的读取.properties文件的程序可能出错,具体是由于.properties文件放置以及寻找路径不对造成的。可以按以下规制调用上面的方法:“
properties的读取方法受到文件放置的位置的影响。当properties位于jar包内部时,使用法三和法四,当properties位于jar包外部时,使用法一,同时将java启动脚本放在jar包的同一目录下面或者在同一目录下启动java程序。 ”

猜你喜欢

转载自fangguanhong.iteye.com/blog/1188521