详解 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)
详解 Properties类的更多相关文章
- unity3D游戏开发之详解Animation类和Animator类
详解Animator类和Animation类 链接: http://wenku.baidu.com/link?url=SiaUYcdrNYjOYrWVDJSKGAYdJOntMTOhsVJtyBk2i ...
- 【python进阶】详解元类及其应用1
前言 元类在python中是很重要的一部分,我将分两次去讲解元类及其应用,此篇为详解元类及其应用第一篇,下面开始今天的说明~~~ 1. 类也是对象 在⼤多数编程语⾔中,类就是⼀组⽤来描述如何⽣成⼀个对 ...
- 【python进阶】详解元类及其应用2
前言 在上一篇文章[python进阶]详解元类及其应用1中,我们提到了关于元类的一些前置知识,介绍了类对象,动态创建类,使用type创建类,这一节我们将继续接着上文来讲~~~ 5.使⽤type创建带有 ...
- Unity3D - 详解Quaternion类(二)
OK,不做引子了,接上篇Unity3D - 详解Quaternion类(一)走起! 四.Quaternion类静态方法 Quaternion中的静态方法有9个即:Angle方法.Dot方法.Euler ...
- Unity3D - 详解Quaternion类(一)
一.简介 Quaternion又称四元数,由x,y,z和w这四个分量组成,是由爱尔兰数学家威廉·卢云·哈密顿在1843年发现的数学概念.四元数的乘法不符合交换律.从明确地角度而言,四元数是复数的不可交 ...
- Kotlin——最详解的类(class)的使用
在任何一门面向对象编程的语言里,类(class)是非常基础.但也是非常重要的一项组成,通俗的说就是万般皆对象,而所说的对象就是我们生成的类.Kotlin也是如此,下面详细为大家介绍Kotlin中的类的 ...
- IOC和AOP使用扩展之AOP详解实现类
摘要: “Depend on yourself” is what nature says to every man. Parents can help you. Teachers can hel ...
- 详解 Arrays类
请关注本人博文--<详解 普通数组 -- Arrays类 与 浅克隆> Arrays类: 概述: 针对数组进行操作的工具类.它提供了对于数组的值的排序.查找等功能. 现在,本人来展示一下A ...
- 详解 Collections类
(请关注 本人"集合总集篇"博文--<详解 集合框架>) 有的同学可能会有这样的疑问 -- Collections类也是集合吗? 答曰:非也! 那为什么要讲解这个类呢? ...
随机推荐
- windows10删除用户头像
点击开始菜单,然后这里我们点击最上方的用户,弹出的界面,点击这里的更改帐户设置,大家如图进行操作,点击这里即可. 这里我们通过浏览可以修改自己的账户头像,问题是怎么删除这里使用过的账户头像呢?这里 ...
- TensorFlow系列专题(五):BP算法原理
欢迎大家关注我们的网站和系列教程:http://www.tensorflownews.com/ ,学习更多的机器学习.深度学习的知识! 一.反向传播算法简介 二.前馈计算的过程 第一层隐藏层的计算 第 ...
- JVM 常见参数配置
-XX:+PrintGC 每次触发GC的时候打印相关日志 -XX:+PrintGCDetails 每次触发GC的时候更详细的相关日志 -XX:+UseSerialGC 串行回收 -Xms 堆初始值( ...
- 解决Pycharm导入当前项目的.py文件错误
如图所示错误,由左边导航栏可见.py文件存在: 解决办法:右键单击导包错误文件所在目录,选择[Mark Directory as]+[Sources Root] 错误已解决:
- NCEP CFSR数据读取
一. NCEP CFSR再分析数据,时间分辨率是1小时. 1.整体读取数据情况 clear all setup_nctoolbox tic %% 读取数据文件 wind= ncgeodataset(' ...
- Python 程序慢的像蜗牛,我该怎么办?
1. “一猿小讲”的风格就是多元化,偶尔会真情吐露一下程序猿的内心:偶尔也结合自己的经历畅聊一些经验杂谈:其中也不乏幽默风趣的技术故事.分享是件快乐的事情,工作之余,有时间我就尽力多码字,多推几篇文章 ...
- 如何更换 App icon
每逢重大节日,App icon 就要跟一波"潮流"做一次更换,节日过后再换回普通.如何保证这两次切换流程丝滑顺畅呢? 应用内需要更换的 icon 包括两处,一个是 App 主 ic ...
- CSS实现文本,DIV垂直居中
https://blog.csdn.net/linayangoo/article/details/88528774 1.水平居中 1.行内元素水平居中 text-align:center; 利用tex ...
- Redis 笔记(六)—— ZSET 常用命令
常用命令 命令 用例和描述 ZADD ZADD key-name score member [score member ...] —— 将带有分值的成员添加到 HSET 中 ZREM ZREM key ...
- ArrayList 迭代器学习笔记
我们先来看一段代码: List<String> list = new ArrayList<>(); list.add("str1"); list.add(& ...