JavaIO流07_Properties类(重要)

JavaIO流_Properties类

Properties文件

  • 后缀properties是一种属性文件。
  • 这种文件以key=value格式存储内容
  • Java中可以使用Properties类来读取这个文件
为什么要使用Properties文件?

在这个文件里面定义这些变量的值,在程序里面可以调用这些变量,好处就是,如果程序中的参数值需要变动,直接来改这个.property文件就可以了,不用在去修改源代码。

优点在于有利于你以后的代码重构,维护方便

为什么要使用Properties类?

  • 先建立一个mysql.properties文件
ip = 192.168.0.13
user = root
pwd = 12345
  • 如果用bufferedReader处理流来解决文件读取和传输的话,会很麻烦
private static String filePath = "C:\\Users\\Laity\\Desktop\\Java全栈\\JavaIO\\Test文件\\mysql.properties";

//麻烦的读取方式  
public static void bufRead() throws IOException {
    BufferedReader buf1 = new BufferedReader(new FileReader(filePath));

    String line = "";
    while((line = buf1.readLine())!=null){
        System.out.println(line);
    }

    System.out.println("read success...");

    buf1.close();
}

引出了Properties类和方法

  • load:加载配置文件的键值对到Properties对象
  • list:将数据显示到指定的设备
  • getProperty(key):根据键获取值
  • setProperty(key,value):设置键值对到Properties对象
  • store:将Properties中的键值对存储到配置文件,在idea中,保存信息到配置文件,如果含有中文,会存储为unicode码
  • 用字节流的话中文会变成unicode码
public static void main(String[] args) throws IOException {

    //testProperties01.bufRead();
    //创建一个Properties类
    Properties properties = new Properties();
    //将指定Properties文件加载到类中,参数是FileReader
    properties.load(new FileReader(filePath));
    //将所有的键值对输出到指定路径/设备中,参数是PrintWrite或PrintStream
    properties.list(System.out);//用的是PrintStream的子类,标准输出类
    //通过键获取相应的值
    System.out.println("用户名:"+properties.getProperty("user"));
    System.out.println("==========");
    //创建或覆盖键值对
    properties.setProperty("user","wjs");
    System.out.println("用户名:"+properties.getProperty("user"));


    //将类返回到文件中,第二个参数代表一个注释
    properties.store(new FileWriter(filePath),null);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值