(请观看本人博文——《详解 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

详解 Properties类的更多相关文章

  1. unity3D游戏开发之详解Animation类和Animator类

    详解Animator类和Animation类 链接: http://wenku.baidu.com/link?url=SiaUYcdrNYjOYrWVDJSKGAYdJOntMTOhsVJtyBk2i ...

  2. 【python进阶】详解元类及其应用1

    前言 元类在python中是很重要的一部分,我将分两次去讲解元类及其应用,此篇为详解元类及其应用第一篇,下面开始今天的说明~~~ 1. 类也是对象 在⼤多数编程语⾔中,类就是⼀组⽤来描述如何⽣成⼀个对 ...

  3. 【python进阶】详解元类及其应用2

    前言 在上一篇文章[python进阶]详解元类及其应用1中,我们提到了关于元类的一些前置知识,介绍了类对象,动态创建类,使用type创建类,这一节我们将继续接着上文来讲~~~ 5.使⽤type创建带有 ...

  4. Unity3D - 详解Quaternion类(二)

    OK,不做引子了,接上篇Unity3D - 详解Quaternion类(一)走起! 四.Quaternion类静态方法 Quaternion中的静态方法有9个即:Angle方法.Dot方法.Euler ...

  5. Unity3D - 详解Quaternion类(一)

    一.简介 Quaternion又称四元数,由x,y,z和w这四个分量组成,是由爱尔兰数学家威廉·卢云·哈密顿在1843年发现的数学概念.四元数的乘法不符合交换律.从明确地角度而言,四元数是复数的不可交 ...

  6. Kotlin——最详解的类(class)的使用

    在任何一门面向对象编程的语言里,类(class)是非常基础.但也是非常重要的一项组成,通俗的说就是万般皆对象,而所说的对象就是我们生成的类.Kotlin也是如此,下面详细为大家介绍Kotlin中的类的 ...

  7. IOC和AOP使用扩展之AOP详解实现类

    摘要:   “Depend on yourself” is what nature says to every man.  Parents can help you. Teachers can hel ...

  8. 详解 Arrays类

    请关注本人博文--<详解 普通数组 -- Arrays类 与 浅克隆> Arrays类: 概述: 针对数组进行操作的工具类.它提供了对于数组的值的排序.查找等功能. 现在,本人来展示一下A ...

  9. 详解 Collections类

    (请关注 本人"集合总集篇"博文--<详解 集合框架>) 有的同学可能会有这样的疑问 -- Collections类也是集合吗? 答曰:非也! 那为什么要讲解这个类呢? ...

随机推荐

  1. Java的集合框架综述

    集合 用于存储和管理数据的实体被称为数据结构(data structure).数据结构可用于实现具有不同特性的集合对象,这里所说的集合对象可以看作一类用于存储数据的特殊对象. 集合内部可以采用某种数据 ...

  2. coding++:java-全局异常处理

    本次使用工具:SpringBoot   <version>1.5.19.RELEASE</version> Code: AbstractException: package m ...

  3. Redis 主从复制机制(集群)与 哨兵机制

    1,什么是redis 主从复制 支持多个数据库之间的数据同步.只能一个主数据库(master),可以一个或者多个从数据库(slave) 主数据库,可以读写 从数据库,只可以读 当主数据库,做写的操作的 ...

  4. ios 13 陀螺仪DeviceOrientationEvent需要申请用户权限

    有些代码跑着跑着就报错了,有些陀螺仪用着用着就不能用了. 目前时间是2020.4.4,发现  ios 13系统调用陀螺仪 需要申请用户权限(这应该是个趋势,后面安卓应该陆续跟进).具体实现来看下: 1 ...

  5. 用pymysql和Flask搭建后端,响应前端POST和GET请求

    前言 这次作业不仅需要我建立一个数据库(详情请点击这里),还需要我基于这个数据库写后端接口(注册和登录)供前端访问,接收前端的POST和GET请求,并将登录.注册是否成功传给前端. 本文介绍如何用Fl ...

  6. c++ 重载、继承、多态

    一.重载 1.函数重载 在同一个作用域内,可以声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数.类型或者顺序)必须不同.您不能仅通过返回类型的不同来重载函数. #include & ...

  7. while实现2-3+4-5+6...+100 的和

    while实现2-3+4-5+6...+100 的和 可以看到规律为2-100内所有奇数都为减法,偶数为加法 设定变量 total=0: count=2 当count为偶数时与total相加,反则相减 ...

  8. 使用 Visual Studio 开发、测试和部署 Azure Functions(二)测试,部署

    1,引言 上一篇介绍了使用使用 Visual Studio 开发 "Azure Functions" 函数,此篇介绍 “Azure Functions” 的测试以及直接从 Vist ...

  9. Java程序员拥有这些工具,还怕干不出好活

    老话说,工欲善其事,必先利其器. 那么,作为编程人员,你都用过哪些“兵器”呢?你的”兵器“够”锋利”吗? 近期,有很多新朋友问,都有什么画流程图的工具,给推荐推荐? 索性,就静下来,好好梳理一下,从事 ...

  10. CSS超链接样式,去除下划线等

    控制超链接样式 链接的四种状态: a:link - 普通的.未被访问的链接 a:visited - 用户已访问的链接 a:hover - 鼠标指针位于链接的上方 a:active - 链接被点击的时刻 ...