类 Properties

Properties 类表示了一个持久的属性集。Properties 可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串。

注意:Properties是Hashtable的子类,说明是一个Map集合。但是,它后面没有<>,说明它不是泛型类

  

首先把它当成Map使用看看:

         Properties prop = new Properties();

         // 添加元素
prop.put("it002", "hello");
prop.put("it001", "world");
prop.put("it003", "java"); // System.out.println("prop:" + prop); // 遍历集合
Set<Object> set = prop.keySet();
for (Object key : set) {
Object value = prop.get(key);
System.out.println(key + "---" + value);
}

Properties类的特殊方法: 

A、public Object setProperty(String key,String value):添加元素
 B、public Set<String> stringPropertyNames():获取所有的键的集合
 C、public String getProperty(String key):获取元素

示例:

     public static void main(String[] args) {
//创建集合对象
Properties prop = new Properties(); //public Object setProperty(String key,String value):添加元素
prop.setProperty("哈士奇", "二哈");
prop.setProperty("萨摩耶", "小萨");
prop.setProperty("加菲猫", "胖子"); //public Set<String> stringPropertyNames():获取所有的键的集合
Set<String> s = prop.stringPropertyNames(); //public String getProperty(String key):获取元素
//遍历键集合
for(String key : s){
String result = prop.getProperty(key);
System.out.println(result);//打印出来的是值
System.out.println(key+"----"+result);//打印出来的是键值对
}
}

Properties集合和IO流的结合使用  (必须是Properties集合)

A、public void load(Reader reader):把文件中的数据读取到集合中
B、public void store(Writer writer,String comments):把集合中的数据存储到文件

首先试下A:public void load(Reader reader):把文件中的数据读取到集合中(文件中的数据必须是键值对的形式《“xxx=yyy”》)

     private static void myLoad() throws IOException {
Properties prop = new Properties(); // public void load(Reader reader):把文件中的数据读取到集合中
// 注意:这个文件的数据必须是键值对形式
Reader r = new FileReader("prop.txt");
prop.load(r);
r.close(); System.out.println("prop:" + prop);
}
prop.txt中的内容是:哈士奇=二哈
           萨摩耶=小萨 这样的键值对形式的数据 再试下B:public void store(Writer writer,String comments):把集合中的数据存储到文件
     private static void myStore() throws IOException {
// 创建集合对象
Properties prop = new Properties(); prop.setProperty("哈士奇", "二哈");
prop.setProperty("萨摩耶", "小萨");
prop.setProperty("加菲猫", "胖子"); //public void store(Writer writer,String comments):把集合中的数据存储到文件
Writer w = new FileWriter("name.txt");
prop.store(w, "helloworld");
w.close();
}

生成的name.txt文件中,里面的内容也是跟prop.txt中的内容格式一样,都是键值对

实际应用:

  在玩单机版游戏时,开始运行游戏,会自动生成一个游戏的数据文件夹。而里面有个文件就是存储你玩的游戏角色所具备的属性

例如:玩三国群英传,你会拥有武将,武将又会拥有武器

那么,当你拥有这个武将的时候,你点击保存,那文件里面就会存储一个键值对:吕布=1

而当你拥有了一把武器后,也会存储一个键值对:“菜刀=1”

。。。Properties集合是个持久的属性集合

java 21 - 14 Properties类的更多相关文章

  1. Java学习:Properties类

    Java学习:Properties类 学习目标 认识properties文件,理解其含义,会正确创建properties文件. 会使用java.util.Properties类来操作propertie ...

  2. Java中的Properties类

    目录 Java中的Properties类 前言 主要方法 读取Properties文件 相关实例 Java中的Properties类 前言 Java中的Properties类属于配置文件,以键值对的方 ...

  3. java编程中Properties类的具体作用和使用

    如果不熟悉 java.util.Properties类,那么现在告诉您它是用来在一个文件中存储键-值对的,其中键和值是用等号分隔的.(如清单 1 所示).最近更新的java.util.Properti ...

  4. Java读写配置文件——Properties类的简要使用笔记

    任何编程语言都有自己的读写配置文件的方法和格式,Java也不例外. 在Java编程语言中读写资源文件最重要的类是Properties,功能大致如下: 1. 读写Properties文件 2. 读写XM ...

  5. java编程中Properties类的具体作用和使用!

    如果不熟悉 java.util.Properties类,那么现在告诉您它是用来在一个文件中存储键-值对的,其中键和值是用等号分隔的.(如清单 1 所示).最近更新的java.util.Properti ...

  6. Java API 之 Properties 类

    1.简介 在项目中我们经常看到一种格式极其干净的配置文件,如:config.properties.在Java的体系结构中也提供了API对properties文件进行读取和写入等操作,即:Propert ...

  7. JAVA基础之Properties类、序列化流及打印流、commons-IO

    个人理解: Properties类是个存储String类型的键值对的集合类,可以用其存储一些关键的账号密码什么的,同时后面的注释可以很好的帮助理解,但是需要注意的是其文件中不能出现其他的符号:序列化与 ...

  8. day1 java基础回顾- Properties类与配置文件

    Properties配置文件说明 Properties类对应.properties文件.文件内容是键值对,键值对之间使用"="或空格隔开.开头是"#"的表示注释 ...

  9. Java 程序 关于Properties 类使用Store方法时不能会覆盖以前Properties 文件的内容

    F:\\Demo.properties 文件内容: #\u65B0\u589E\u4FE1\u606F#Wed Sep 14 11:16:24 CST 2016province=广东tt=近蛋city ...

随机推荐

  1. android.widget.RadioButton 单选按钮(转)

    大家好,我们今天这一节要介绍的是RadioGroup 的组事件.RadioGroup 可将各自不同的RadioButton ,设限于同一个Radio 按钮组,同一个RadioGroup 组里的按钮,只 ...

  2. [C#]多线程下载

    发现电脑里以前编写的下载程序... 做个记录,那时做的挺匆忙的,没用委托,通过公开出窗体来修改下载进度,做的比较乱... ==!! 程序具体功能(流程): 1.检测系统托盘图标内的进程名是否符合要求 ...

  3. JSDoc那些事

    几天工作上需要文档化一些Javascript东西,所以在找一些JS文档化工具,以下分析几种工具. 1.JSDoc-toolkit 一开始还想用这个工具,但后来在解析生成文档时候,出现了很严重的错误,还 ...

  4. SQLserver2008如何把表格变量传递到存储过程中

    在Microsoft SQL Server 2008中,你可以实现把表格变量传递到存储过程中,如果变量可以被声明,那么它就可以被传递.下面我们来具体介绍如何把表格变量(包括内含的数据)传递到存储过程和 ...

  5. <input type="text"/>未输入时属性value的默认值--js学习之路

    在百度ife刷题是自己的一个错误引发了我对<input type="text"/>的学习. 先贴代码: <!DOCTYPE html> <html&g ...

  6. SharePoint List来做项目管理

    其实这是一个常见的问题,已经不仅仅只是一次用SharePoint List来做项目管理了. 核心 1. SharePoint List Lookup自己来实现项目的父子关系 2. 权限控制,直接控制在 ...

  7. NSNumber和NSValue

    在进行数据处理的时候,因为对象类型的不同, 并不能进行相应的数据处理,所以必须要进行数据类型的转换,这也就是NSNumber,NSValue这两类值对象出现的原因. 简而言之,NSNumber就是实现 ...

  8. 听说你会打地鼠(动态规划dp)

    题目来源:https://biancheng.love/contest-ng/index.html#/41/problems G 听说你会打地鼠 时间限制:300ms   内存限制:65536kb 题 ...

  9. javascript中的 类初始化,遍历for in 以及with的用法

    <script type="text/javascript"> function member(name,gender){ this.name=name; this.g ...

  10. android network develop(2)----network status check

    Check & Get network status Normally, there will be two type with phone network: wifi & mobil ...