Properties类 详解

 

Property中文的翻译是性质或者财产的意思,放到程序中就是存放属性集合的文档,用来在一个文件中存储键-值对的,其中键和值是用等号分隔的,我们可以通过导入该文档,实现诸如校验密码或者编写通讯录的功能.

使用Properties类,我们必须先New一个对象,该对象用来实现Properties类中的方法.
例如Properties pro = new Properties;
然后导入你想导入的文件 格式是pro.load(new FileInputStream("你想导入的文件名"));
 
  导入文件后就可以实现方法了比如你要获得某一个key的value,用白话说就是获得某一个属性的值,比如你要获得文档中的属性 username 它的值,代码可以这样写
pro.getProperty("username"); (假设Properites文档里username = Jason)
运行System.out.println(pro.getProterty(username));得到的结果就是Jason
 
  咱们还可以用setProperties方法来修改或添加文档中 key和 key所对应的值,格式是pro.setProperty("key","value");例如咱们要修改username的值为Mark,
使用pro.setProperty("username","Mark");来实现.
 
  当然修改以后咱们就需要保存,这里咱们就用使用到store方法例:pro.store(new FileOutStream("你想存入的文件名"),null);  注:这里的null的作用是保存
在当前java源文件所在的目录,当然如果你希望存在其他目录也是可以的,不过当你要调用它时,导入时必须添加路径;
  如果你存的文件名和路径跟原本导入的文件是相同的. 那么如果key存在将修改这个key所对应的值,如果key不存在那么将添加一个新的key 和 value;
 
综合所上咱们可以实现 上面几个代码的功能:
1.命名一个test.properties的文件,文件内容咱们先为空,然后创建一个TestProperties的类完整的代码如下:
  

import java.util.Properties;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class TestProperties {
   public static void main(String[] args) {
      Properties pro = new Properties();
      //这里需要用到异常处理,咱们还没学到暂时不用去想为什么
      //只需要知道由于存在文档可能不存在的情况,所以要用到
       try{
           pro.load(new FileInputStream("test.properties")); 
       }catch(Exception ex){
        
        //如果调用的文档不存在就会运行下面语句
           System.out.println("装载文件出错!");
           return;
       }
      
       //现在咱们读取文档内的属性和他的值
       //先判断是不是有要读取的属性,假设为name
      
       String s = pro.getProperty("name");
      
       if (s == null) {
         System.out.println("没有该属性的值");
       }
      
      
       //现在添加一个属性 名为name 值为Jason
       pro.setProperty("name","Jason");
      
       //保存
       //这里同样要有异常处理
       try {
           pro.store(new FileOutputStream("test.properties"),null);
       } catch (IOException ioe) {
        //为空就可以
       }
        //运行到这里,查看test.properties就会发现name属性跟值都被写入了
        
        
        //现在咱们修改属性看看
        
        pro.setProperty("name","Mark");
        
        try {
         pro.store(new FileOutputStream("test.properties"),null); 
        }catch (IOException ioe) {
         
        }
        
        System.out.println("name的值为"+pro.getProperty("name"));
   }
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值