Properties类继承了Hashtable,Hashtable实现了Map<K,V>接口。该类的键值对 都是字符串。

Properties的构造方法:Properties pro = new Properties();//创建一个Properties集合。

常用方法: String setProperties(String key,String value);//添加元素,修改元素。

String setProperties(String oldKey,String newValue);//使用需修改的键,在加上新的字符串值就可以了。返回该键的旧值,如果该键不存在时则返回null。

String getPropery(String key);//返回指定键的值。

Set<String>  stringPropertyNames();//返回该集合的键集

void list(PrintStream out);//将属性列表输出到指定的输出流,该方法经常使用测试。

void store(OutputStream out,String comments);//将此 Properties 表中的属性列表(键和元素对)写入输出流。

如:

public static void show_3() throws IOException {Properties pro = new Properties();pro.setProperty("zhangsan", "20");pro.setProperty("lisi", "29");pro.setProperty("zhailou", "24");pro.setProperty("wangwu", "25");FileOutputStream fos = new FileOutputStream("info.txt"); //将集合中的数据存到文件中。pro.store(fos, "name_age");}

void load(InputStream inStream);//从输入流中读取键值对。

演示程序:

package Properties;import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties;
import java.util.Set;public class PropertiesDemo {/*** @param args* @throws IOException */public static void main(String[] args) throws IOException {/*** Properties集合特点:*         1,该集合中的键和值都是字符串。*        2,集合中的数据可以保存到流中,或者从流中获得。*     该集合经常用于操作以键值对存在的配置文件。*/
//      show_1();
//      show_2();
//      show_3();
//      show_4();
//      myLoad();xiugai();}public static void xiugai() throws IOException {Properties pro = new Properties();File file = new File("info.txt");if(!file.exists())file.createNewFile();FileReader fr =new FileReader(file);//加载文件中的数据pro.load(fr);//修改文件中的数据pro.setProperty("baiyang", "16");//将修改后的集合存到文件中去。FileWriter fw = new FileWriter(file);pro.store(fw, "xiugaihou");pro.list(System.out);}public static void myLoad() throws IOException {Properties pro = new Properties();BufferedReader bf = new BufferedReader(new FileReader("info.txt"));String line = null;while((line = bf.readLine())!=null){if(line.startsWith("#"))continue;String []pr = line.split("=");pro.setProperty(pr[0], pr[1]);}pro.list(System.out);}public static void show_4() throws IOException {Properties pro = new Properties();FileInputStream fis = new FileInputStream("info.txt");//将文件中的数据加载到集合中。pro.load(fis);pro.list(System.out);}public static void show_3() throws IOException {Properties pro = new Properties();pro.setProperty("zhangsan", "20");pro.setProperty("lisi", "29");pro.setProperty("zhailou", "24");pro.setProperty("wangwu", "25");FileOutputStream fos = new FileOutputStream("info.txt"); //将集合中的数据存到文件中。pro.store(fos, "name_age");}public static void show_2() {//创建集合Properties pro = new Properties();//添加元素。pro.setProperty("zhangsan", "20");pro.setProperty("lisi", "29");pro.setProperty("zhailou", "24");pro.setProperty("wangwu", "25");pro.list(System.out);/*** list结果:通常用于测试。* -- listing properties --zhailou=24zhangsan=20lisi=29wangwu=25*/}public static void show_1() {//创建集合Properties pro = new Properties();//添加元素。pro.setProperty("zhangsan", "20");pro.setProperty("lisi", "29");pro.setProperty("zhailou", "24");pro.setProperty("wangwu", "25");//修改元素pro.setProperty("zahngsan", "10");//取出元素Set<String> names = pro.stringPropertyNames();for(String name:names){String value  = pro.getProperty(name);System.out.println(name+" : "+value);}}}         

IO流和集合的交集Properties类的介绍。相关推荐

  1. IO流 (一) ----- 基本概念和FIle类

    相关文章: <IO流 (一) ----- 基本概念和File类> <IO流 (二) ----- 文件流> <IO流 (三) ----- 字符流和字符缓冲流> < ...

  2. java集合——java.util.Properties类

    [0]README 0.1)以下全文转自 : http://trans.blog.51cto.com/503170/110227/ [1]认识properties文件 1. properties文件是 ...

  3. java体系的四大基类_Java中的io流学习(了解四大基类和基本步骤)

    Java中io流四大基类及io流操作四大基本步骤 io流:(input/output)即输入输出流.面向对象的思想之一是面向接口编程,面向父类编程,也就是多态.所以学好基类(父类)很重要. 分类 按处 ...

  4. JAVA之IO流、异常、File文件类

    1 IO流 1.1IO流概述及其前奏 1.1.1IO流概述 IO流用来处理设备之间的数据传输,上传文件和下载文件 . 1.1.2IO流前奏 了解Io流前必须先了解异常和File类,因为File表示的是 ...

  5. java.util.Properties类的介绍-配置文件的读写【-Z-】

    简介:java.util.Properties是对properties这类配置文件的映射.支持key-value类型和xml类型两种. #打头的是注释行,Properties会忽略注释.允许只有key ...

  6. IO流(八)之InputStreamReader类与OutputStreamWriter类

    InputStreamReader类与OutputStreamWriter类是字节流通向字符流的桥梁,使用指定charset读写字节并解码为字符. 1.InputStreamReader类 1.1构造 ...

  7. IO流(六)之CharArrayReader类与CharArrayWriter类

    CharArrayReader类与CharArrayWriter类分别是字符数组输入流和字符数组输出流类.用来进行字符数组输入输出操作. 1.CharArrayReader类 1.1构造器 CharA ...

  8. 接收字节流_Java之IO流、属性配置文件

    IO流 之前稍微提了下java.io包下的File类,今天我们就深入来看下java.io包下常用的类,也就是IO流了. IO流很多,都掌握是不太可能的,这里作者列出了接下来要看的IO流.那么什么是IO ...

  9. Java基础(28)数据输入输出流、内存操作流、打印流、随机访问流、序列化与反序列化流、Properties类(集合)

    1. 数据输入输出流 1. 数据输入输出流的概述: (1)以Stream结尾的,一般都是字节流 (2)数据输入流(DataInputStream):数据输入流允许应用程序以与机器无关方式从底层输入流中 ...

最新文章

  1. 【C++】clipp 一个命令行参数解析器
  2. Android程序反编译
  3. 创建存储过程批量插入数据
  4. Java基础01 从HelloWorld到面向对象
  5. 陆鲸接入云信,司机与货主高效沟通
  6. vc++怎么可以直接刷掉MBR?搞笑的吧
  7. 前端学习(3168):react-hello-react之...扩展运算符
  8. 打不开磁盘“D:\CentOS7\CentOS7.vmdk”或它所依赖的某个快照磁盘。
  9. Problem G: C语言习题 医生值班
  10. ASP.NET企业开发框架IsLine FrameWork系列之七--AppLogProvider日志框架(上)
  11. elasticsearch 导入基础数据并索引之 geo_shape
  12. android组件化数据生命周期,Android组件化开发实践(七):开发常见问题及解决方案...
  13. PDA开发从入门到精通
  14. 【前端安全】web缓存投毒
  15. 1.1股票数据预处理练习
  16. 路由器连接上但上不了网如何操作
  17. 如何用电脑调试安卓手机浏览器上的网页
  18. PowerManagerService类大致解读
  19. 和平精英清明节服务器维修时间,和平精英开服时间/和平精英几点能玩 和平精英常见问题解答汇总...
  20. Centos6.5离线安装中文输入法

热门文章

  1. 28. 对称的二叉树
  2. SpringCloud创建Config多客户端公共配置
  3. 任务调度之Timer、TimerTask
  4. STL(一)——栈及其应用
  5. Java堆溢出,虚拟机栈和本地方法栈溢出
  6. 哈工大人工智能作业一_想从事人工智能行业,考研选什么专业对口?
  7. 微信小程序 this和that详解及简单实例
  8. 深度学习在医疗方面的应用 精准医学受追捧
  9. 《中国人工智能学会通讯》——11.64 基于成对约束的属性特征选择
  10. Python 模块学习