Properties类

Posted hzhjxx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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文件:

 技术分享图片

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

技术分享图片

 

以上是关于Properties类的主要内容,如果未能解决你的问题,请参考以下文章

如何通过单击片段内的线性布局从片段类开始新活动?下面是我的代码,但这不起作用

ResourceBundle类读取properties文件

顶点

elasticsearch代码片段,及工具类SearchEsUtil.java

使用ResourceBundle 类读取 src 下的 xxx.properties 文件

Android 逆向类加载器 ClassLoader ( 类加载器源码简介 | BaseDexClassLoader | DexClassLoader | PathClassLoader )(代码片段