1. 体系介绍

  Properties类继承自HashTable,勉强属于集合框架体系一员,键值对形式存储数据,当然键肯定是唯一的,底层哈希表保证键的唯一,此类一般用于表示配置文件.

2. 基本用法

  由于此类继承HashTable,所以基本的集合操作还是相同的.比如put(),get()等,当然这个肯定不是常用的,在此只介绍Properties特殊的功能.

  • Object setProperty(String key, String value)  : 存入数据.严格要求键值对类型都是字符串
  • String getProperty(String key)  :按照键取数据,.严格要求键值对类型都是字符串
  • Enumeration<?> propertyNames()   :获取所有键的列表
  • Set<String> stringPropertyNames() : 获取所有键的列表
  • void store(OutputStream out, String comments)  : 与IO结合,使用字节输出流以键值对形式持久到磁盘,第二个参数是描述..可null
  • void store(Writer writer, String comments)   : 与IO结合,使用字符输出流以键值对形式持久到磁盘,第二个参数是描述..可null
  • void load(InputStream inStream)   : 与IO结合,使用字节输入流从磁盘加载到Properties对象中
  • void load(Reader reader)    : 与IO结合,,使用字符输入流从磁盘加载到Properties对象中

  

package com.io;

import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.Writer;
import java.util.Enumeration;
import java.util.Properties;
import java.util.Set; /**
* 演示Properties类的使用
* @author 王庆华
* @age 18
* @DateTime 2017年8月31日 16:08:56
*/
public class PropertiesDemo2 {
public static void main(String[] args) throws IOException {
Properties pro1 = new Properties(); //Object setProperty(String key, String value):插入元素
pro1.setProperty("name", "陆离");
pro1.setProperty("age", "19"); //String getProperty(String key) :获取元素
System.out.println(pro1.getProperty("name"));//陆离 //Enumeration<?> propertyNames():获取所有键的集合
Enumeration<?> names = pro1.propertyNames();
while(names.hasMoreElements()){
System.out.println(names.nextElement());//age name
} //Set<String> stringPropertyNames() :获取所有String类型的键的集合
Set<String> names2 = pro1.stringPropertyNames();
System.out.println(names2);//[age, name] //void list(PrintStream out) :将Properties对象的所有键按照字节打印流输出写入到磁盘
// PrintStream ps = new PrintStream("pro.properties");
// pro1.list(ps);
// ps.close(); //void list(PrintWriter out) :使用字节流
// PrintWriter pw = new PrintWriter("pro.properties");
// pro1.list(pw);
// pw.close(); // void store(OutputStream out, String comments) : 与IO结合,使用字节输出流以键值对形式持久到磁盘,第二个参数是描述..可null
OutputStream out = new FileOutputStream("pro.properties");
pro1.store(out, "测试demo");
out.close();
/*
* pro.properties文件内容如下:
* #\u6D4B\u8BD5demo
* #Thu Aug 31 15:56:53 CST 2017
* age=19
* name=\u9646\u79BB
*/ // void store(Writer writer, String comments) : 与IO结合,使用字符输出流以键值对形式持久到磁盘,第二个参数是描述..可null
Writer wr = new FileWriter("pro.properties");
pro1.store(wr, null);
wr.close(); //void load(InputStream inStream) : 与IO结合,使用字节输入流从磁盘加载到Properties对象中
Properties pro2 = new Properties();
pro2.load(new BufferedInputStream(new FileInputStream("pro.properties")));
System.out.println(pro2); // void load(Reader reader) : 与IO结合,,使用字符输入流从磁盘加载到Properties对象中
Properties pro3 = new Properties();
pro3.load(new BufferedReader(new InputStreamReader(new FileInputStream("pro.properties"))));
System.out.println(pro3);
}
}

总结

  此类很常用

  

Properties类随笔的更多相关文章

  1. Java中Properties类知识的总结

    一.Properties类与配置文件 注意:是一个Map集合,该集合中的键值对都是字符串.该集合通常用于对键值对形式的配置文件进行操作. 配置文件:将软件中可变的部分数据可以定义到一个文件中,方便以后 ...

  2. java编程中Properties类的具体作用和使用

    如果不熟悉 java.util.Properties类,那么现在告诉您它是用来在一个文件中存储键-值对的,其中键和值是用等号分隔的.(如清单 1 所示).最近更新的java.util.Properti ...

  3. 【JAVA Properties类概述】

    一.概述. 之前说过,该对象是和IO流相结合的技术,所以和IO流结合在一起来讲比较合适. public class Propertiesextends Hashtable<Object,Obje ...

  4. java 21 - 14 Properties类

    类 Properties Properties 类表示了一个持久的属性集.Properties 可保存在流中或从流中加载.属性列表中每个键及其对应值都是一个字符串. 注意:Properties是Has ...

  5. Java中Properties类的操作

    知识学而不用,就等于没用,到真正用到的时候还得重新再学.最近在看几款开源模拟器的源码,里面涉及到了很多关于Properties类的引用,由于Java已经好久没用了,而这些模拟器大多用Java来写,外加 ...

  6. Properties类一些常用的用法

    直接上代码: package test.properties; import java.io.File; import java.io.FileInputStream; import java.io. ...

  7. Java常用类之Properties类

    1.特性 Properties类表示了一个持久的属性集,可保存在流中或从流中加载,实现内存和文件的交互.Properties继承了Hashtable<Object,Object>类,可以使 ...

  8. Java的Properties类和读取.properties文件

    一..properties文件的作用 Properties属性文件在JAVA应用程序中是经常可以看得见的,也是特别重要的一类文件.它用来配置应用程序的一些信息,不过这些信息一般都是比较少的数据,没有必 ...

  9. Java中Properties类的操作配置文件

    知识学而不用,就等于没用,到真正用到的时 候还得重新再学.最近在看几款开源模拟器的源码,里面涉及到了很多关于Properties类的引用,由于Java已经好久没用了,而这些模拟器大多用 Java来写, ...

随机推荐

  1. (转)Java.lang.reflect.Method invoke方法 实例

    背景:今天在项目中用到Method 的invoke方法,但是并不理解,查完才知道,原来如此! import java.lang.reflect.Method; /** * Java.lang.refl ...

  2. [COGS 0011] 运输问题1

    11. 运输问题1 ★★☆   输入文件:maxflowa.in   输出文件:maxflowa.out   简单对比时间限制:1 s   内存限制:128 MB [问题描述]     一个工厂每天生 ...

  3. Azure 认知服务 (5) 计算机视觉API - 使用C#代码实现读取图片中的文字(OCR)功能

    <Windows Azure Platform 系列文章目录> 在笔者之前的文章:Azure 认知服务 (4) 计算机视觉API - 读取图片中的文字 (OCR) 介绍了使用用户界面,在海 ...

  4. Java中的24种设计模式与7大原则 (转)

    一.创建型模式 1.抽象工厂模式(Abstract factory pattern): 提供一个接口, 用于创建相关或依赖对象的家族, 而不需要指定具体类.2.生成器模式(Builder patter ...

  5. 在Mac OS 下 build Tesseract4.0 源码并在命令行中使用

    作者电脑:Mac Mini 系统信息:OS X EI Capitan 10.11.6 Tesseract4.0github地址:https://github.com/tesseract-ocr/tes ...

  6. easyui项目问题集锦

    1.级联问题(combobox) combobox至多可以保存2个东西value和text,但我需要第三个数的时候,怎么办?比如,省.市.区的三级级联,我选择市的时候,需要市id,市name,区号,邮 ...

  7. struts2相关简单介绍

    一 Struts2环境配置 1.准备jar包,核心jar包有: 2.创建Struts2项目并导入jar包 3.在Struts2项目中src下创建Struts.xml配置文件 4.在Web.xml文件中 ...

  8. CocoaPods的一些略为高级一丁点的使用【转】

    记得我刚开始做iOS开发的时候,是没有项目依赖管理工具.当需要引入第三方库的时候是相当麻烦的,不是直接拷贝库近来,就是添加依赖工程,直到CocoaPods出来才改变这个状况.项目依赖管理不是Cocoa ...

  9. Unity 特殊文件夹 Assets Resources StreamingAssets Editor Plugins......

    AssetsAssets文件夹是unity项目中放置游戏资源的主文件夹. 该文件夹中的内容将直接反应在编辑器的Project视口中.许多系统API基于该文件夹路径. ResourcesUnity允许你 ...

  10. openstack中dashboard页面RuntimeError: Unable to create a new session key. It is likely that the cache is unavailable.

    环境是centos7,直接跑在服务器上. 按照官网一步步安装openstack,到验证dashborad时出错. 登录http://192.168.1.73/dashboard ,输入域名,用户名,密 ...