Properties文件的读取与保存

本文介绍了在Java中如何读取Properties文件。第一种方法是通过BufferedInputStream和FileInputStream创建输入流,加载Properties对象。第二种方法利用Class.getResourceAsStream()从classpath读取文件,适合跨平台应用。示例代码详细展示了这两种方法的实现过程。
摘要由CSDN通过智能技术生成

一、Properties格式的读取

Properties是一种格式文件,在java中Properties类继承自Hashtable,是一种键值对(Key== Value)形式进行存储内容,实质上也是一种集合。

        进行  Properties文件的读取,使用BufferedInputStream创建输入流,创建Properties类的对象,调用load()方法 ,将“输入流”加载至Properties集合对象中。

源码如下:

package com.yx.demo;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;

public class Demo03 {
	public static void main(String[] args) {
		
		//Properties格式文件的读取
		//创建输入流	
		try (BufferedInputStream bis = new BufferedInputStream(new FileInputStream("d:\\test\\aaa\\data.properties"))) {
			
			Properties props = new Properties();
			
			props.load(bis); //将“输入流”加载至Properties集合对象中
			
			//根据key,获取value
			System.out.println(props.get("cn"));
			System.out.println(props.get("kr"));
		} catch (IOException e) {
			
			e.printStackTrace();
		}
		

Properties也提供store()方法,将值写入*.properties文件。

二、Properties格式文件读取

        我们在读取文件时,为了避免不同环境下的文件路径不一致的问题,通过class path读取当前相对路径下的文件,class path : 当前项目编译后的bin目录,我们将*.properties文件保存在class path 根目录,然后获取当前的class对象,然后调用getResourceAsStream()方法可以直接从classpath读取任何路径下的文件。然后通过properties的load()方法加载读取。

实现代码如下:

package com.yx.demo;

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

public class Demo04 {
	public static void main(String[] args) {
		
		try (InputStream in = Demo04.class.getResourceAsStream("/com/yx/demo/temp.properties")) {
			
			//加载读取
			Properties props = new Properties();
			props.load(in);
			System.out.println(props);
		} catch (IOException e) {


			e.printStackTrace();
		}
			
		
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值