1.Properties类简介

Properties类(Java.util.Properties),主要用于读取Java的配置文件,各种语言都有自己所支持的配置文件,配置文件中很多变量是经常改变的,这样做也是为了方便用户,让用户能够脱离程序本身去修改相关的变量设置。像Python支持的配置文件是.ini文件,同样,它也有自己读取配置文件的类ConfigParse,方便程序员或用户通过该类的方法来修改.ini配置文件。在Java中,其配置文件常为.properties文件,格式为文本文件,文件的内容的格式是“键=值”的格式,文本注释信息可以用"#"来注释。

#person information
#Sat Dec 30 15:00:22 CST 2017
age=18
name=zhangsan

      

Properties的父类为 HashTable类。

Propertise类常用方法:

(1)setProperty ( String key, String value) : 调用 Hashtable 的方法 put 。他通过调用基类的put方法来设置 键 - 值对。

(2)getProperty ( String key):用指定的键在此属性列表中搜索属性。也就是通过参数 key ,得到 key 所对应的 value。

(3)load ( InputStream inStream):从输入流中读取属性列表(键和元素对)。

(4)store ( OutputStream out, String comments):将Properties 表中的属性列表(键和元素对)写入输出流。comments为注释参数。该方法将键 - 值对写入到指定的文件中去。

(5)list(System.out):打印配置文件信息到控制台。

(6)clear (),清除所有装载的 键 - 值对。该方法在基类中提供。

 

2.properties方法演示

 public class PropertiesDemo {

 	/**
 	 * Properties 常用到配置文件参数
 	 * @param args
 	 */
 	public static void main(String[] args) {
 		// TODO Auto-generated method stub

 //		methodDemo();
 //		methodDemo2();
 		methodDemo3();
 	}

 	private static void methodDemo3() {
 		// TODO Auto-generated method stub
 		Properties prop = new Properties();

 		//创建输ru流对象
 		FileInputStream inStream = null;
 		try {
 			inStream = new FileInputStream("H:\\workspace\\Testfile\\info.properties");
 			prop.load(inStream);//加载数据

 			prop.setProperty("name", "zhangsan");//修改参数

 			prop.list(System.out);//打印

 		} catch (IOException e) {
 			// TODO Auto-generated catch block
 			e.printStackTrace();
 		} finally{
 			if(inStream != null){
 				try {
 					inStream.close();
 				} catch (IOException e) {
 					// TODO Auto-generated catch block
 					throw new RuntimeException();
 				}
 			}
 		}

 	}

 	/**
 	 * 演示properties持久化
 	 */
 	private static void methodDemo2() {
 		// TODO Auto-generated method stub
 		Properties prop = new Properties();

 		prop.setProperty("name", "zhangsan");
 		prop.setProperty("");

 		//创建输出流对象
 		FileOutputStream fos = null;
 		try {
 			fos = new FileOutputStream("H:\\workspace\\Testfile\\info.properties");
 			prop.store(fos, "person information");//第二个参数为注释信息

 		} catch (IOException e) {
 			// TODO Auto-generated catch block
 			e.printStackTrace();
 		} finally{
 			if(fos != null){
 				try {
 					fos.close();
 				} catch (IOException e) {
 					// TODO Auto-generated catch block
 					throw new RuntimeException();
 				}
 			}
 		}

 	}

 	/**
 	 * 演示setProperty()和prop.list(System.out)
 	 */
 	private static void methodDemo() {
 		// TODO Auto-generated method stub
 		Properties prop = new Properties();

 		prop.setProperty("name", "zhangsan");
 		prop.setProperty("");

 		prop.list(System.out);//直接使用list方法打印输出

 	/*
 		Set<String> set = prop.stringPropertyNames();

 		for(String key : set){
 			String value = prop.getProperty(key);
 			System.out.println(key+":"+value);
 		}*/

 	}

 }

2017-12-30 内容来自创智播客课程

Java中Properties类的操作 - bakari - 博客园

Java I/O---Properties类(持久化键值对)的更多相关文章

  1. Java学习:Properties类

    Java学习:Properties类 学习目标 认识properties文件,理解其含义,会正确创建properties文件. 会使用java.util.Properties类来操作propertie ...

  2. Java中的Properties类

    目录 Java中的Properties类 前言 主要方法 读取Properties文件 相关实例 Java中的Properties类 前言 Java中的Properties类属于配置文件,以键值对的方 ...

  3. Java Dictionary 类存储键值

    字典(Dictionary) 字典(Dictionary) 类是一个抽象类,它定义了键映射到值的数据结构. 当你想要通过特定的键而不是整数索引来访问数据的时候,这时候应该使用Dictionary. 当 ...

  4. JAVA基础之Properties类、序列化流及打印流、commons-IO

    个人理解: Properties类是个存储String类型的键值对的集合类,可以用其存储一些关键的账号密码什么的,同时后面的注释可以很好的帮助理解,但是需要注意的是其文件中不能出现其他的符号:序列化与 ...

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

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

  6. java 21 - 14 Properties类

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

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

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

  8. Java API 之 Properties 类

    1.简介 在项目中我们经常看到一种格式极其干净的配置文件,如:config.properties.在Java的体系结构中也提供了API对properties文件进行读取和写入等操作,即:Propert ...

  9. 《java JDK7 学习笔记》之键值对Map

    一.常用的Map操作类 1.使用HashMap Map也支持泛型语法,泛型的Map实例: 建立Map操作对象时,可以使用泛型语法指定键与值的类型.上图键使用String,值也使用String类型.要建 ...

随机推荐

  1. webpack 3.X学习之图片处理

    CSS中图片处理 在src目录下新建一个images目录,把图片放入images文件夹中:在index.html文件中增加一个div标签: /src/index.html: <div id=&q ...

  2. Java 操作 Json

    1. 使用Gson构建Json 初始化 JsonObject jsonObject = new JsonObject(); 添加属性 jsonObject.addProperty("name ...

  3. OC语言的面向对象—类和对象、方法

    1. 面向对象和面向过程思想 OC是面向对象的,C是面向过程的.面向对象和面向过程只是解决问题的两种不同思想 1. 面向对象和面向过程的区别 1) 以用电脑听歌为例子 a) 面向过程 ➢ 打开电脑 ➢ ...

  4. 2017计算机学科夏令营上机考试-B编码字符串

    B:编码字符串 总时间限制:  1000ms 内存限制:  65536kB 描述 在数据压缩中,一个常用的方法是行程长度编码压缩.对于一个待压缩的字符串,我们可以依次记录每个字符及重复的次数.例如,待 ...

  5. opencv摄像头捕获图像

    #include <iostream> #include <opencv2/opencv.hpp> using namespace cv; using namespace st ...

  6. Activity 的 4 种加载模式

    Activity 的 4 种加载模式 配置 Activity 时可指定 android:launchMode 属性,该属性用于配置该 Activity 的加载模式.该属性支持如下 4 个属性值. * ...

  7. Java数据结构和算法(五)——队列

    前面一篇博客我们讲解了并不像数组一样完全作为存储数据功能,而是作为构思算法的辅助工具的数据结构——栈,本篇博客我们介绍另外一个这样的工具——队列.栈是后进先出,而队列刚好相反,是先进先出. 1.队列的 ...

  8. 制作支持 BIOS+UEFI 的 U 盘 grub2+bootmgr 引导 + deepin_recovery + deepin_iso + win_pe

    网盘下载:https://pan.baidu.com/s/1c2GXPo0 U盘为 FAT32,MBR分区表 1.下载:U盘grub2+bootmgr引导2017.12.6.2.7z 2.解压到 U盘 ...

  9. zuul超时的解决方案

    参考http://www.coolxuewang.com/view/10 在zuul的配置文件里增加如下配置: ribbon:    ConnectTimeout: 6000    ReadTimeo ...

  10. 微信小程序语音与讯飞语音识别接口(Java)

    项目需求,需要使用讯飞的语音识别接口,将微信小程序上传的录音文件识别成文字返回 而微信小程序上传的文件格式是silk的,而讯飞接口能识别wav 格式的文件,所以需要将小程序上传的silk文件转成wav ...