Properties类

 

1特点

1Hashtable的子类,map集合中的方法都可以用。

2、该集合没有泛型。键值都是字符串。

3、它是一个可以持久化的属性集。键值可以存储到集合中,也可以存储到持久化的设备(硬盘、U盘、光盘)上。键值的来源也可以是持久化的设备。

4、有和流技术相结合的方法。

 

2方法

例:当做集合用

import java.io.IOException;
import java.util.Properties;
import java.util.Set;

public class Test {
	public static void main(String[] args) throws IOException {
		Properties pro=new Properties();
		//往集合中存储键值对
		pro.setProperty("b","1");
		pro.setProperty("a", "2");
		//取值
		System.out.println(pro.getProperty("a"));
		Set<String> set=pro.stringPropertyNames(); //相当于keySet方法
		for(String s:set){
			System.out.println(s+":"+pro.getProperty(s));
		}
	}
}

 

这里面有三个方法,但不大常用。因为map更好用。

 

3常用方法

 

 

1建一个demo.properties的文件,并输入以下内容(注意不要加额外的符号)

 

import java.io.FileReader;
import java.io.IOException;
import java.util.Properties;

public class Test {
	public static void main(String[] args) throws IOException {
		Properties pro=new Properties();
		FileReader fr=new FileReader("E:\\zyx\\java\\demo.properties");
		//从文件中读取键值对
		pro.load(fr);
		System.out.println(pro);
	}
}

 

例2

import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;

public class Test {
	public static void main(String[] args) throws IOException {
		Properties pro=new Properties();
		pro.setProperty("name2", "lisi");
		pro.setProperty("hobby2", "football");
		pro.setProperty("sex2", "man");
		pro.setProperty("sex2", "woman");
		//明确目的地
		FileOutputStream fos=new FileOutputStream("E:\\zyx\\java\\demo.properties",true);
		pro.store(fos,"this is a person information");
	}
}

 

注意:

描述只能是英文或空串

不能存重复的键

 

4应用:jdbc工具类中

如果需要连接多个数据库,那么JDBCUtils.java这个工具类需要修改。那么可以建一个properties文件,把配置参数写进去。再读这个文件就方便许多。

例:

在项目中建一个pro.properties文件:

 

然后工具类连接数据库方法修改为:

 

posted @ 2019-01-01 20:06  后知后觉0107  阅读(183)  评论(0编辑  收藏  举报