博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Properties工具类学习
阅读量:5009 次
发布时间:2019-06-12

本文共 2811 字,大约阅读时间需要 9 分钟。

Properties类学习

1、定义

  • Properties,java.utils包下的一个工具类,主要用于读取Java的配置文件。各种语言都有自己所支持的配置文件,配置文件中很多变量是经常变动的。
  • 这样做也是为了方便用户,让用户能够脱离程序本身去修改相关的变量设置。

2、主要方法

它提供了几个主要的方法:

  1. getProperty(String key):用指定的键在属性列表中搜素属性。通过参数key,得到key所对应的value。
  2. load(InputStream input):从输入流中读取属性列表(键值对)。通过对指定的文件进行装载来获取该文件的所有键值对,以供getProperty(String key)方法来搜素。
  3. setProperty(String key, String value):调用Hashtable的put方法,通过调用基类的put方法来设置键值对。
  4. store(OutputStream out, String comments):以适合使用load方法加载到Properties表中的格式,将此Propertie表中的属性列表(键值对)写入输出流。与load方法相反,该方法将键值对写入到指定的文件中去。
  5. clear():清除所有装载的键值对。该方法在基类中提供。

3、注意

  • ResourceBundle 只读
  • Properties:可写可读

代码示例

import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.util.Properties;public class PropertiesDemo {    private static String version;    private static String username;    private static String password;    // 静态代码块,只会执行一次,类加载的时候就会执行    static {        // readConfig();    }    // 写入配置文件    public static void writeConfig(String version, String username, String password) {        Properties p = new Properties();        p.put("app.version", version);        p.put("db.username", username);        p.put("db.password", password);        try {            OutputStream outStream = new FileOutputStream("src/testio/conf.properties");            // 写文件            p.store(outStream, "update config");            outStream.close();        } catch (FileNotFoundException e) {            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        }    }// writeConfig    // 读取配置文件    public static void readConfig() {        Properties p = new Properties();        try {            // 由于这种方法需要写全路径(src)而发布时是没有src目录的,不推荐使用            // InputStream inStream = new FileInputStream("src/testio/conf.properties");                        // 通过当前线程的类加载器对象,来加载指定包下的配置文件。            InputStream inStream = Thread.currentThread().getContextClassLoader().getResourceAsStream("res/conf.properties");            p.load(inStream);// 加载文件            // 从文件中获取数据            version = p.getProperty("app.version");            username = p.getProperty("db.username");            password = p.getProperty("db.password");            inStream.close();        } catch (FileNotFoundException e) {            e.printStackTrace();        } catch (IOException e) {            e.printStackTrace();        }    }// readConf    public static void main(String[] args) {        //writeConfig("88", "fei", "36521");        readConfig();        System.out.println("version = " + version + ";username = " + username + ";password = " + password);    }}

用的配置文件名为conf.properties

文件内容如下:

db.password=36521

app.version=88
db.username=fei

转载于:https://www.cnblogs.com/zxfei/p/10891277.html

你可能感兴趣的文章
Mybatis中通过父类/接口来限定类的别名(TypeAlias)配置
查看>>
defadvice中的?argv是什么
查看>>
并行执行的Service,以媒体转码成新格式为例
查看>>
虚拟机类加载机制(1)——类加载时机
查看>>
吴裕雄 python 神经网络——TensorFlow 队列操作
查看>>
iOS 把图片从Mac本地添加到iOS Simulator中
查看>>
iOS中Block的基础用法
查看>>
mac 终端 使用ftp命令
查看>>
22-reverseString-Leetcode
查看>>
Centos 开机自动联网
查看>>
cocos2dx使用lua和protobuf
查看>>
使用Spring配合Junit进行单元测试的总结
查看>>
HDOJ 5630 Rikka with Chess
查看>>
netcore2.1 在后台运行一个任务
查看>>
PostgreSQL pg_hba.conf 文件简析
查看>>
android o logcat read: unexpected EOF!
查看>>
[Scrum]2010/12/28 —— 第一天!
查看>>
ASP.NET MVC模式 温习(一)排除MVC模式误区
查看>>
Mysql的read_only 只读属性说明 (运维笔记)
查看>>
DOCKER 从入门到放弃(五)
查看>>