Properties类和 ResourceBundle工具类

Propertie类

1.Propertie类的介绍

Properties 类表示了一个持久的属性集!
什么是集: 它是一个集合
什么是属性集: 其他就是键值对,本质就是一个Map集合
什么是持久的: Properties类具有和硬盘交互的方法

2.构造方法

public Properties(); 创建一个空属性的集合

public class PropertiesDemo01 {
    public static void main(String[] args) {
        //1.创建一个Properties对象
        Properties ps = new Properties();
        System.out.println(ps);
        //注意:Properties不需要写泛型,默认键和值都是String
    }
}    
3.基本保存数据的方法

public String setProperty(String key,String value);//添加/修改属性,类似于map的put方法
public String getProerty(String key);//根据属性名获取属性值,类似于map的get方法
public Set stringPropertyNames();//获取集合中所有的属性名,类似于map的keySet

public class PropertiesDemo01 {
    public static void main(String[] args) {
        //1.创建一个Properties对象
        Properties ps = new Properties();
        System.out.println(ps);
        //2.添加数据
        ps.setProperty("java","100");//相当于map的put
        ps.setProperty("php","80");//相当于map的put
        ps.setProperty("c++","99");//相当于map的put
        ps.setProperty("python","98");//相当于map的put
        System.out.println(ps);
        //3.根据属性名获取属性值
        String propertyValue = ps.getProperty("java"); //相当于map的get
        System.out.println(propertyValue);
        //4.获取所有属性名的集合
        Set<String> propertyNames = ps.stringPropertyNames();//相当于map的keySet
        System.out.println(propertyNames);
    }
}
4.与流相关的方法

持久相关的方法,就是和流相关的方法

public void store(OutputStream/Writer out,String 注释内容); //保存数据  
public void load(InputStream/Reader in);//读取数据  

public class PropertiesDemo02 {
    public static void main(String[] args) throws IOException {
        //1.创建一个Properties对象
        Properties ps = new Properties();
        //2.添加数据
        ps.setProperty("java","100");//相当于map的put
        ps.setProperty("php","80");//相当于map的put
        ps.setProperty("c++","99");//相当于map的put
        ps.setProperty("python","98");//相当于map的put
        //3.保存数据
        ps.store(new FileOutputStream("1.txt"),"");
        //4.再创建一个Properties
        Properties ps1 = new Properties();
        System.out.println(ps1);
        //5.读取数据
        ps1.load(new FileInputStream("1.txt"));
        System.out.println(ps1);
    }
}

注意:
Properties类保存的文件一般会起名叫xxx.properties(规范!!)

ResourceBundle工具类

1.ResourceBundle类的介绍

ResourceBundle这是一个抽象类,其子类PropertyResourceBundle可以用于读取.properties后缀的文件
PropertyResourceBundle可以直接读取"src"目录下的.properties文件,并且我们读取文件时,只需要写"文件名",不需要写文件的后缀名

2.ResourceBundle类对象的创建
public class ResourceBundleDemo {
    public static void main(String[] args) {
        //properties文件在src目录下
        //读取时路径怎么写?? 不好写
        //ResourceBundle 专门用于读取src目录下(默认就是从src目录查找文件)
        //1.如何获取ResourceBundle对象
        ResourceBundle bundle = ResourceBundle.getBundle("1");
        System.out.println(bundle);
    }
}
3.ResourceBundle读取配置文件操作
public class ResourceBundleDemo {
    public static void main(String[] args) {
        //properties文件在src目录下
        //读取时路径怎么写?? 不好写
        //ResourceBundle 专门用于读取src目录下(默认就是从src目录查找文件)
        //1.如何获取ResourceBundle对象
        ResourceBundle bundle = ResourceBundle.getBundle("1");
        System.out.println(bundle);

        //2.通过ResourceBundle的getString
        String value1 = bundle.getString("username");
        System.out.println(value1);

        String value2 = bundle.getString("password");
        System.out.println(value2);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lemon20120331

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值