详解 Properties类

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

原文地址:https://www.cnblogs.com/codderYouzg/p/12418695.html

时间: 2024-10-17 13:35:48

详解 Properties类的相关文章

Unity3D游戏开发之详解 Animation类和Animator类

Unity3D游戏开发之详解 Animation类和Animator类 Animation类 animation组件用于播放动画.可以指定动画剪辑到动画组件并从脚本控制动画播放.在Unity的动画系统基于权重并且支持动画融合,叠加动画,动画混合,标签和完全控制动画播放的各个方面. 如果想播放一个简单的动画,可以使用Animation.Play:如果想在动画之间交叉淡入,可以使用Animation.CrossFade:如果想改变动画模式(循环,一次,乒乓),可以改变动画导入设置里面的动画帧的Wra

Unity3D - 详解Quaternion类(二)

OK,不做引子了,接上篇Unity3D - 详解Quaternion类(一)走起! 四.Quaternion类静态方法 Quaternion中的静态方法有9个即:Angle方法.Dot方法.Euler方法.FromToRotation方法.Inverse方法.Lerp方法.LookRotation方法.RotateToWards方法和Slerp方法.关于静态的方法的使用就是直接用类名调用其静态方法,例如Quaternion.Angle(q1,q2);下面对这些静态方法做下分析. 1.Angle方

PHP面向对象编程详解:类和对象

PHP面向对象编程详解:类和对象 从OOP的视角看,不应区分语言.无论是C++.无论是Java.无论是.net还有更多面向对象的语言,只要你了解了OO的真谛,便可以跨越语言,让你的思想轻松的跳跃.便没有对于Java..net.PHP 之间谁强谁弱的争执了. 希望这个介绍PHP5面向对象编程(OOP)的资料能让初学者受益,能让更多的PHPer开始转向OO的编程过程. 相对PHP4,PHP5在面向对象方面改变了很多.我们将只介绍PHP5环境下的面向对象.而我们必须改变自己来跟随PHP5的发展.如果代

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

前言 在上一篇文章[python进阶]详解元类及其应用1中,我们提到了关于元类的一些前置知识,介绍了类对象,动态创建类,使用type创建类,这一节我们将继续接着上文来讲~~~ 5.使?type创建带有?法的类 最终你会希望为你的类增加?法.只需要定义?个有着恰当签名的函数并将 其作为属性赋值就可以了.添加实例?法 In [14]: def echo_bar(self):#定义了一个普通的函数 ...: print(self.bar) ...: In [15]: FooChild = type('

Java se课程设计详解——数据库接口类(1)

开始做课程设计的时候根本无从下手,后来查阅资料后发现是先从数据库开始的.整个课程设计需要用到的如下图,今天总结一下数据库接口! 数据库接口需要用到两个类,一个是DAO.java,另一个是properties.java. 1.properties.java文件 因为使用 JDBC 操作数据库,基本流程是相同的,只是操作的内容不同,因此,可将数据库的连接和有关操作封装成类,后续操作数据库时只要调用相关类的方法即可. 步骤 (1)先创建一个以properties 为后缀的文件,比如my.propert

Spring Boot系列教程四:配置文件详解properties

一.配置随机数,使用随机数 在application.properties文件添加配置信息 1 #32位随机数 2 woniu.secret=${random.value} 3 #随机整数 4 woniu.number=${random.int} 5 #指定范围随机数 6 woniu.limitnumber=${random.int[0,9]} controller类中使用这些随机数 1 package com.woniu.controller; 2 3 import java.util.Has

Unity3D - 详解Quaternion类(一)

一.简介 Quaternion又称四元数,由x,y,z和w这四个分量组成,是由爱尔兰数学家威廉·卢云·哈密顿在1843年发现的数学概念.四元数的乘法不符合交换律.从明确地角度而言,四元数是复数的不可交换延伸.如把四元数的集合考虑成多维实数空间的话,四元数就代表着一个四维空间,相对于复数为二维空间. 四元数 关于四元数的性质.与旋转的关系.球型线性插值的介绍,请阅读3D游戏与计算机图形学中的数学方法-四元数,在此不多做介绍.下面主要介绍的是Unity中的四元数-Quaternion. 在Unity

【转载】详解java类的生命周期

原文地址:http://blog.csdn.net/zhengzhb/article/details/7517213 引言 最近有位细心的朋友在阅读笔者的文章时,对java类的生命周期问题有一些疑惑,笔者打开百度搜了一下相关的问题,看到网上的资料很少有把这个问题讲明白的,主要是因为目前国内java方面的教材大多只是告诉你“怎样做”,但至于“为什么这样做”却不多说,所以造成大家在基础和原理方面的知识比较匮乏,所以笔者今天就斗胆来讲一下这个问题,权当抛砖引玉,希望对在这个问题上有疑惑的朋友有所帮助,

详解java类的生命周期

最近有位细心的朋友在阅读笔者的文章时,对java类的生命周期问题有一些疑惑,笔者打开百度搜了一下相关的问题,看到网上的资料很少有把这个问题讲明白的,主要是因为目前国内java方面的教材大多只是告诉你“怎样做”,但至于“为什么这样做”却不多说,所以造成大家在基础和原理方面的知识比较匮乏,所以笔者今天就斗胆来讲一下这个问题,权当抛砖引玉,希望对在这个问题上有疑惑的朋友有所帮助,文中有说的不对的地方,也希望各路高手前来指正.        首先来了解一下jvm(java虚拟机)中的几个比较重要的内存区