
正文
Java I/O---Properties类(持久化键值对)
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
1.Properties类简介
Properties 类(Java.util.Properties),主要用于读取Java的配置文件,各种语言都有自己所支持的配置文件,配置文件中很多变量是经常改变的,这样做也是为了方便用户,让用户能够脱离程序本身去修改相关的变量设置。像Python支持的配置文件是.ini文件,同样,它也有自己读取配置文件的类ConfigParse,方便程序员或用户通过该类的方法来修改.ini配置文件。在Java中,其配置文件常为.properties文件,格式为文本文件,文件的内容的格式是“键=值”的格式,文本注释信息可以用"#"来注释。
|
#person information
|
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);
}*/
}
}
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 - 博客园








