java 21 - 14 Properties类

类 Properties

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

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

  

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

 1         Properties prop = new Properties();
 2
 3         // 添加元素
 4         prop.put("it002", "hello");
 5         prop.put("it001", "world");
 6         prop.put("it003", "java");
 7
 8         // System.out.println("prop:" + prop);
 9
10         // 遍历集合
11         Set<Object> set = prop.keySet();
12         for (Object key : set) {
13             Object value = prop.get(key);
14             System.out.println(key + "---" + value);
15         }

Properties类的特殊方法: 

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

示例:

 1     public static void main(String[] args) {
 2             //创建集合对象
 3         Properties prop = new Properties();
 4
 5         //public Object setProperty(String key,String value):添加元素
 6         prop.setProperty("哈士奇", "二哈");
 7         prop.setProperty("萨摩耶", "小萨");
 8         prop.setProperty("加菲猫", "胖子");
 9
10         //public Set<String> stringPropertyNames():获取所有的键的集合
11         Set<String> s = prop.stringPropertyNames();
12
13         //public String getProperty(String key):获取元素
14         //遍历键集合
15         for(String key : s){
16             String result = prop.getProperty(key);
17             System.out.println(result);//打印出来的是值
18             System.out.println(key+"----"+result);//打印出来的是键值对
19         }
20     }

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”》)

 1     private static void myLoad() throws IOException {
 2         Properties prop = new Properties();
 3
 4         // public void load(Reader reader):把文件中的数据读取到集合中
 5         // 注意:这个文件的数据必须是键值对形式
 6         Reader r = new FileReader("prop.txt");
 7         prop.load(r);
 8         r.close();
 9
10         System.out.println("prop:" + prop);
11     }
prop.txt中的内容是:哈士奇=二哈           萨摩耶=小萨  这样的键值对形式的数据

再试下B:public void store(Writer writer,String comments):把集合中的数据存储到文件
 1     private static void myStore() throws IOException {
 2         // 创建集合对象
 3         Properties prop = new Properties();
 4
 5         prop.setProperty("哈士奇", "二哈");
 6         prop.setProperty("萨摩耶", "小萨");
 7         prop.setProperty("加菲猫", "胖子");
 8
 9         //public void store(Writer writer,String comments):把集合中的数据存储到文件
10         Writer w = new FileWriter("name.txt");
11         prop.store(w, "helloworld");
12         w.close();
13     }

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

实际应用:

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

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

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

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

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

时间: 2024-10-13 22:21:13

java 21 - 14 Properties类的相关文章

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

任何编程语言都有自己的读写配置文件的方法和格式,Java也不例外. 在Java编程语言中读写资源文件最重要的类是Properties,功能大致如下: 1. 读写Properties文件 2. 读写XML文件 3. 不仅可以读写上述两类文件,还可以读写其它格式文件如txt等,只要符合key=value格式即可. 注意:资源文件中含有中文时的处理方法 1. 将中文字符通过工作转成utf8编码,可以通过Java自带的nativetoascii或Eclipse中的属性编辑器. 2. 直接调用 new S

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

如果不熟悉 java.util.Properties类,那么现在告诉您它是用来在一个文件中存储键-值对的,其中键和值是用等号分隔的.(如清单 1 所示).最近更新的java.util.Properties 类现在提供了一种为程序装载和存储设置的更容易的方法: loadFromXML(InputStreamis) 和 storeToXML(OutputStream os, String comment) 方法. 一下是详细的说明,希望能给大家带来帮助. 清单 1. 一组属性示例 foo=barfu

java中的Properties类的操作

java中有个比较重要的类:Properties类,该类主要用于读取java的配置文件.每种语言都自己所支持的配置文件.java中的配置常为*.perperties文件,文件格式为文本格式,内容格式为“健=值”对格式,文本注释信息可用#注释. Properties继承Hashtable 它提供了几个主要的方法: 1. getProperty ( String key),用指定的键在此属性列表中搜索属性.也就是通过参数 key ,得到 key 所对应的 value. 2. load ( Input

Java中的Properties类详解

1.Properties类是什么? Properties(Java.util.Properties),该类主要用于读取Java的配置文件,不同的编程语言有自己所支持的配置文件,配置文件中很多变量是经常改变的,为了方便用户的配置,能让用户够脱离程序本身去修改相关的变量设置.就像在Java中,其配置文件常为.properties文件,是以键值对的形式进行参数配置的. 2.常用的方法 getProperty(String key)   在此属性列表中搜索具有指定键的属性.如果在此属性列表中找不到该键,

java 19 -14 File类的判断并输出案例

1 package zl_file; 2 3 import java.io.File; 4 import java.io.FilenameFilter; 5 6 /* 7 需求: 判断E盘目录下是否有后缀名为.jpg的文件,如果有,就输出此文件名称 8 分析: 9 两种方式: 10 A:先获取所有的,然后遍历的时候,依次判断,如果满足条件就输出. 11 a:封装h判断目录 12 b:获取该目录下所有文件或者文件夹的File数组 13 c:遍历该File数组,得到每一个File对象,然后判断 14

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

F:\\Demo.properties 文件内容: #\u65B0\u589E\u4FE1\u606F#Wed Sep 14 11:16:24 CST 2016province=广东tt=近蛋city=佛山市 java代码: public static void test() throws IOException {        FileWriter writer = new FileWriter("F:\\Demo.properties");        FileReader r

java中使用Properties加载XML文件设置java窗体应用程序的窗体属性

一.描述 开发一个MyFrame窗体应用程序,该窗体继承JFrame类,窗体中的标题.按钮上的文字等信息都可以写在一个xml配置文件中,即使以后想更改所有的属性,只需要更改xml配置文件中的相应属性即可. 本案例使用java中的Properties类来加载一个xml配置文件,并读取文件中的所有属性(key-value),并将取得的所有键值对应用于JFrame窗体属性中. 二.源代码 package tong.day4_27.systemUse; import java.awt.FlowLayou

Java中Properties类

Java中Properties类简介 知识学而不用,就等于没用,到真正用到的时候还得重新再学. Properties类继承自Hashtable,如下: 它主要用于读取Java的配置文件,由于配置文件中的很多变量时经常改变的,通过这个类可以让用户脱离程序本身去修改相关的变量配置.在Java中,其配置文件常为.properties文件,格式为文本文件,内容的格式为“键=值”的格式,#打头的是注释行,Properties会忽略注释.允许只有key没有value,没有value时,value会被set成

Java IO流中 File文件对象与Properties类

File类 用来将文件或目录封装成对象 方便对文件或目录信息进行处理 File对象可以作为参数传递给流进行操作 File类常用方法 创建 booleancreateNewFile():创建新文件,如果文件存在,返回false booleanmkdir():创建目录,只能创建一级目录 booleanmkdirs():创建目录,可创建多级目录 删除 booleandelete():删除文件,如果文件不存在,返回false,如果删除的是目录,需要确保目录是空的 voiddeleteOnExit():程