properties文件的读取和写入

properties文件的读取

        当我们想读取city.properties文件时,我们可以用Reader字符输入流:

try (FileReader reader = new FileReader("D:\\IO流\\city.properties")) {
    for(;;) {
		int n=reader.read();
		if (n==-1) {
			break;
		}
		System.out.println((char)n);
	}
} catch (IOException e) {
	// TODO Auto-generated catch block
	e.printStackTrace();
}

输出结果:

1
=
X
i
a
n


2
=
B
a
o
j
i


3
=
X
i
a
n
y
a
n
g

        那如果我们想将这个文件以键值对的格式读取出来呢?我们可以将字符输入流加载到一个Properties对象中,这样我们就可以将文件中的内容以加载成key-value文件读取出来:

try (FileReader reader = new FileReader("D:\\IO流\\city.properties")) {
    //创建一个Properties对象
    Properties p=new Properties();
    //将输入流加载到Properties对象中
    p.load(reader );
    System.out.println(p);
}catch (IOException e) {
	// TODO Auto-generated catch block
	e.printStackTrace();
}
    

输出结果:{3=Xianyang, 2=Baoji, 1=Xian}

怎么证明它是一个键值对文件呢?当我们可以通过它唯一的key键查询到它对应的值的时候,就说明它是一个键值对文件:

value1=p.get("1");
System.out.println(value1);

输出结果:Xian

properties文件的写入

        当我们想将一些信息以键值对的形式保存起来时:

//创建一个Properties对象
Properties p=new Properties();
p.put("wyj",String.valueOf(888));
try (FileWriter write = new FileWriter("D:\\IO流\\name.properties")) {
    p.store(write,"This is a beautiful girl");
}catch (IOException e) {
	// TODO Auto-generated catch block
	e.printStackTrace();
}

注意:

①put()方法中的参数必须是字符串,否则会出现以下错误:

②store()方法的参数一:要写入的目标文件

                                     参数二:要写入的注释

运行结果:

//第一行注释是我们通过store()方法手动加入的

//第二行注释是自动生成的当前时间注释

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值