Java类集--属性类Properties

原创 2013年12月04日 08:42:53
属性是在程序中经常出现的一种形式。

在类集中提供了一个专门的Properties类,以完成属性的操作。

public class Properties extends Hashtable<Object, Object>

Properties是Hashtable的子类,则也是Map的子类,可以使用Map的全部操作,但是一般情况下属性类是单独使用的。


import java.util.Properties;
public class PropertiesDemo01{
	public static void main(String args[]){
		Properties pro = new Properties() ;	// 创建Properties对象
		pro.setProperty("BJ","BeiJing") ;	// 设置属性
		pro.setProperty("TJ","TianJin") ;
		pro.setProperty("NJ","NanJing") ;	
		System.out.println("1、BJ属性存在:" + pro.getProperty("BJ")) ;
		System.out.println("2、SC属性不存在:" + pro.getProperty("SC")) ;
		System.out.println("3、SC属性不存在,同时设置显示的默认值:" + pro.getProperty("SC","没有发现")) ;
	}
};

属性操作中以上属于设置和读取属性,当然,对于属性中也可以将属性保存在文件之中。提供了一下方法:


将以上的属性写入到d:\area.properties文件之中。

import java.util.Properties;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class PropertiesDemo02{
	public static void main(String args[]){
		Properties pro = new Properties() ;	// 创建Properties对象
		pro.setProperty("BJ","BeiJing") ;	// 设置属性
		pro.setProperty("TJ","TianJin") ;
		pro.setProperty("NJ","NanJing") ;	
		File file = new File("D:" + File.separator + "area.properteis") ;	// 指定要操作的文件
		try{
			pro.store(new FileOutputStream(file),"Area Info") ;	// 保存属性到普通文件
		}catch(FileNotFoundException e){
			e.printStackTrace() ;
		}catch(IOException e){
			e.printStackTrace() ;
		}
	}
};

此时,已经将属性的内容保存在了文件之中。既然可以保存,那么就可以读取。


使用以上方法读取属性内容:

import java.util.Properties;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class PropertiesDemo03{
	public static void main(String args[]){
		Properties pro = new Properties() ;	// 创建Properties对象
		File file = new File("D:" + File.separator + "area.properteis") ;	// 指定要操作的文件
		try{
			pro.load(new FileInputStream(file)) ;	// 读取属性文件
		}catch(FileNotFoundException e){
			e.printStackTrace() ;
		}catch(IOException e){
			e.printStackTrace() ;
		}
		System.out.println("1、BJ属性存在:" + pro.getProperty("BJ")) ;
		System.out.println("2、SH属性存在:" + pro.getProperty("SH")) ;
	}
};
以上是全部保存在了普通的文件之中,实际上在Properties操作的时候也可以将内容全部保存在XML文件之中。

import java.util.Properties;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class PropertiesDemo04{
	public static void main(String args[]){
		Properties pro = new Properties() ;	// 创建Properties对象
		pro.setProperty("BJ","BeiJing") ;	// 设置属性
		pro.setProperty("TJ","TianJin") ;
		pro.setProperty("NJ","NanJing") ;	
		File file = new File("D:" + File.separator + "area.xml") ;	// 指定要操作的文件
		try{
			pro.storeToXML(new FileOutputStream(file),"Area Info") ;	// 保存属性到普通文件
		}catch(FileNotFoundException e){
			e.printStackTrace() ;
		}catch(IOException e){
			e.printStackTrace() ;
		}
	}
};
既然可以使用XML文件格式保存,那么就可以使用XML文件读取内容。

import java.util.Properties;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class PropertiesDemo05{
	public static void main(String args[]){
		Properties pro = new Properties() ;	// 创建Properties对象
		File file = new File("D:" + File.separator + "area.xml") ;	// 指定要操作的文件
		try{
			pro.loadFromXML(new FileInputStream(file)) ;	// 读取属性文件
		}catch(FileNotFoundException e){
			e.printStackTrace() ;
		}catch(IOException e){
			e.printStackTrace() ;
		}
		System.out.println("1、BJ属性存在:" + pro.getProperty("BJ")) ;
	}
};

总结:




版权声明:本博客所有文章均为原创,欢迎交流,欢迎转载;转载请勿篡改内容,并且注明出处,谢谢!

Java属性类:Properties的常用方法

Properties类本身是Hashtable类的子类,也是按照key-value的形式存放数据的. 设置和取得属性: public class PropertiesDemo01{ public s...
  • pengkv
  • pengkv
  • 2014年07月12日 15:39
  • 1637

spring加载properties文件,并将属性值注入到指定类的指定成员变量

问题背景:有一个新需求,需要对现有场景入参进行特定节点的校验,但是需要对该节点的校验与否加一个开关(需要校验的时候就打开,不需要校验的时候就关闭),且开关必须加在.properties文件中,并且这个...
  • u011063151
  • u011063151
  • 2016年11月08日 19:08
  • 2440

Java中Properties类的操作

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

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

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

java读取属性配置(properties)文件

文章开始,让我们先了解一下什么是属性配置文件(properties)。java的通用属性配置文件,以键值对方式存储信息。 还是给个图吧。上图的jdbc.properties 文件就是个属性配置文件。废...
  • u013410747
  • u013410747
  • 2015年10月12日 08:58
  • 1558

Java工具类---资源文件解析类 PropertiesUtil

package com.luang.util.properties; import java.io.File; import java.io.FileInputStream; impo...
  • jibaole
  • jibaole
  • 2016年08月04日 09:44
  • 2411

Java学习笔记——JDBC读取properties属性文件

Java 中的 properties 文件是一种配置文件,主要用于表达配置信息,文件类型为*.properties,格式为文本文件。 文件的内容是格式是"键=值"(key-value)的格式。 ...
  • weixin_37673550
  • weixin_37673550
  • 2017年04月13日 17:49
  • 406

重写java.util.Properties工具类 内容有序 不丢注释

由于java.util.Properties读取属性文件时会忽略注释,当写回去的时候,注释都没了,而且顺序都乱了,所以重写工具类...
  • npf_java
  • npf_java
  • 2016年08月13日 16:41
  • 1153

java操作properties配置文件

Java中有个类Properties(Java.util.Properties),主要用于读取Java的配置文件,将一些可能需要变化的值存放在properties中进行配置,通常为为.properti...
  • qq_30739519
  • qq_30739519
  • 2016年03月19日 17:15
  • 1869

保持顺序的 Java Properties 类

文章来源:http://gflei.iteye.com/blog/1851875 Java 的 Properties 加载属性文件后是无法保证输出的顺序与文件中一致的,因为 Prop...
  • buster2014
  • buster2014
  • 2016年02月22日 15:02
  • 870
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java类集--属性类Properties
举报原因:
原因补充:

(最多只允许输入30个字)