(请观看本人博文——《详解 I/O流》

Properties类:

概念

Properties 类的对象 是 一个持久的属性集

Properties 可 保存在流中从流中加载

属性列表中每个键及其对应值都是一个字符串

Properties类的 父类是Hashtable

属于双列集合,这个集合中的键和值都是字符串

Properties类 不能指定泛型

现在,本人来说明一下本人的见解:

在本人之前的博文中,相信大家已经了解到了properties文件的许多知识。

但是,在学习到此类的时候,本人对于properties文件的理解更加深刻了。 properties文件存储的是 键值对制 的信息

就像是一个 外存化的Hashtable

现在,本人来介绍下这个类的构造方法

构造方法

  • Properties()

    创建一个无默认值的空属性列表
  • Properties(Properties defaults)

    创建一个带有指定默认值的空属性列表

现在,本人来展示下这个类的常用API

常用API

  • void store(OutputStream out, String comments)

    以适合使用 load(InputStream) 方法加载到 Properties 表中的格式,将此 Properties 表中的属性列表(键和元素对)写入输出流
  • void store(Writer writer, String comments)

    以适合使用 load(Reader) 方法的格式,将此 Properties 表中的属性列表(键和元素对)写入输出字符
  • void storeToXML(OutputStream os, String comment)

    发出一个表示此表中包含的所有属性的 XML 文档
  • void storeToXML(OutputStream os, String comment, String encoding)

    使用指定的编码发出一个表示此表中包含的所有属性的 XML 文档
  • void load(InputStream inStream)

    从输入流中读取属性列表键和元素对
  • void load(Reader reader)

    按简单的面向行的格式从输入字符流中读取属性列表键和元素对
  • void loadFromXML(InputStream in)

    指定输入流中,由 XML 文档所表示的所有属性加载到此属性表中
  • String getProperty(String key)

    指定的键在此属性列表中搜索属性

    若搜索不到,则null
  • String getProperty(String key, String defaultValue)

    指定的键在属性列表中搜索属性

    若搜索不到,则返回defaultValue
  • void list(PrintStream out)

    属性列表输出到指定的输出流
  • void list(PrintWriter out)

    属性列表输出到指定的输出流
  • Enumeration<?> propertyNames()

    返回属性列表中所有键的枚举

    如果在主属性列表中未找到同名的键,则包括默认属性列表中不同的键
  • Object setProperty(String key, String value)

    调用 Hashtable 的方法 put
  • Set< String > stringPropertyNames()

    返回此属性列表中的键集,其中该键及其对应值是字符串,

    如果在主属性列表中未找到同名的键,则还包括默认属性列表中不同的键
  • void save(OutputStream out, String comments)

    已过时

    如果在保存属性列表时发生 I/O 错误,则此方法不抛出 IOException。

    保存属性列表的首选方法是通过 store(OutputStream out, String comments) 方法或 storeToXML(OutputStream os, String comment) 方法来进行

现在,本人来展示下 部分API 的使用:

package edu.youzg.about_io.about_file.core.Test;

import edu.youzg.about_io.about_file.core.FanInfo;

import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Properties; public class Test { public static void main(String[] args) throws IOException, ClassNotFoundException {
Properties properties = new Properties();
properties.setProperty("name","Kujo Jotaro");
properties.setProperty("attribute","Star Platinum");
properties.setProperty("uncle","Higashikata Jousuke");
//把 属性集合中的数据,保存到配置文件中
properties.store(new FileWriter("JoJo.properties"),null); //根据“键”,获得“值”的信息
String property = properties.getProperty("grandfather");
System.out.println(property==null ? "没存储" : property);
property = properties.getProperty("grandfather", "JOSEPH JOESTAR");
System.out.println(property==null ? "没存储" : property); //获取整个.properties文件的信息
properties.load(new FileReader("JoJo.properties"));
System.out.println(properties);
} }

那么,本人来展示下 运行结果 和 生成的文件:

那么,有关 Properties类 的知识点,在这里就基本上讲解完了!

(本人 I/O流总集篇 博文链接:https:////www.cnblogs.com/codderYouzg/p/12418404.html

最新文章

  1. Android Studio导入第三方jar包
  2. 《Continuous Delivery》 Notes 1: The problem of delivering software
  3. HDU 4576 简单概率 + 滚动数组DP(大坑)
  4. git添加文件过滤
  5. android 获取IMEI号
  6. 编译 skia
  7. Windows 批处理文件
  8. 捕获input 文本框内容改变的事件(onchange,onblur,onPropertyChange比较)
  9. iOS中静态库-.a文件生成和使用
  10. &lt;JAVA&gt;可变参数列表
  11. Codeforces Round #466 (Div. 2)
  12. H5取经之路——随便写点儿
  13. Java基础总结1
  14. JAVA写接口傻瓜(%)教程(五)
  15. Linux环境下Node.js的安装配置
  16. android开发笔记(1)
  17. Eclipse在当前行之上插入一行
  18. JAVA 第一周学习总结
  19. proc文件系统漫谈
  20. 数学公式 AS3应用

热门文章

  1. leetcode 每日签到 409. 最长回文串
  2. JUC 中提供的限流利器-Semaphore(信号量)
  3. FastText的内部机制
  4. 读者来信 | 刚搭完HBase集群,Phoenix一启动,HBase就全崩了,是什么原因?(已解决)
  5. js数组的常用方法(10种)
  6. Cows POJ - 2481 (树状数组 + 单点更新 + 区间查询)
  7. 8.MSFvenom
  8. 1~n的之间的k个数组成和为n的方案数(动态规划)
  9. 解决POST乱码
  10. 1049 Counting Ones (30分)