Java中Properties文件的读取和写入

java中的properties文件是一种配置文件,主要用于表达配置信息,文件类型为*.properties,格式为文本文件,文件的内容是格式是"键=值"的格式,在properties文件中,可以用"#"来作注释,properties文件在Java编程中用到的地方很多,操作很方便。

一、properties文件

Properties类存在于包Java.util中,该类继承自Hashtable。它提供了几个重要的方法:

1.getProperty(String key),用指定的键在此属性列表中读取搜索属性。也就是通过参数key,得到key所对应的value。

2.load(InputStream inputStream),从输入流中读取属性列表(键和元素对)。通过对指定的文件进行装载来获取该文件中的所有键值对。以提供getProperty(String key)来搜索

3.setProperty(String key,String value),调用Hashtable的方法put。它通过调用基类的put方法来设置键值对

4.store(OutputStream outputStream,String comments),以适合使用load方法加载到Properties表中的格式,将此Properties表中的属性列表(键和元素对)写入输出流。与load方法相反,该方法将键值对写入到指定的文件中去。

5.clear(),清楚所有装在键值对。该方法在基类中提供。

二、操作Properties文件的Java方法

java的properties文件需要放到classpath下面,这样程序才能读取到,有关classpath实际上就是java类或者库的存放路径,在java工程中,properties放到class文件一块。在web应用中,最简单的方法就是放到web应用的WEB-INF\classes目录下即可,也可以放在其他文件下,这时候需要在设置classpath环境变量的时候,将这个文件夹路径加到classpath变量中,这样也可以读取到。


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

public class Test04 {
	public static void main(String[] args) {
		//通过class path读取相对路径下的文件
		//class path : 当前项目编译后的bin目录
		
		//data.properties文件保存在class path 根目录
		//InputStream in = Test04.class.getResourceAsStream("/data.properties")
		
		//temp.properties文件保存在class path根目录下的/Test目录中	
		try (InputStream in = Test04.class.getResourceAsStream("/Test/temp.properties")) {
			
			//加载读取
			Properties props = new Properties();
			props.load(in);
			
			System.out.println(props);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}					
	}
}


三、Properties文件的读取和写入操作


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

public class test03 {
	public static void main(String[] args) {
		// Properties格式文件的读取
		// 创建输入流
		try (BufferedInputStream bis = new BufferedInputStream(new FileInputStream("c:\\data\\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格式文件的写入
		Properties props = new Properties();
		props.put("F1", "2344");
		props.put("F2", "5423");
		props.put("F3", "8782");
		props.put("F4", "4324");
		props.put("F5", "7542");

		// 使用“输出流”,将Properties集合中的KV键值对,写入*.properties文件
		try (BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("c:\\data\\demo.properties"))) {
			props.store(bos, "just do IT");
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}


 

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: properties配置文件是一种常见的配置文件格式,通常用于存储应用程序的配置信息,如数据库连接信息、日志配置、邮件服务器设置等。它采用键值对的方式存储数据,每个键值对之间使用等号(=)分隔,每行表示一个键值对,例如: ``` # database configuration db.host=localhost db.port=3306 db.username=root db.password=123456 ``` 在这个例子,“#”表示注释,第一行是注释内容,不会被解析。后面四行是四个键值对,分别表示数据库主机名、端口号、用户名和密码。这些配置信息可以在应用程序通过读取配置文件来获取,从而方便地进行配置和管理。 ### 回答2: properties配置文件是一种常用的配置文件格式,用于存储应用程序的配置信息。 它通常采用键值对的形式,每行记录一个配置项,以等号(=)分隔键和值。 properties配置文件的优点之一是它的简洁性和易读性。由于采用了直观的键值对形式,开发人员可以轻松地查看和编辑配置文件。 另一个优点是可扩展性。我们可以根据需要定义各种配置项,并根据需要添加新的配置项。这使得properties配置文件适用于各种应用程序,从小型项目到大型企业级应用程序。 此外,properties配置文件还具有跨平台和易于处理的特点。不管是在Windows、Linux还是Mac系统上,都可以轻松读取和修改properties文件。而且,许多编程语言都提供了内置的函数或库来处理properties文件,使得对其进行读取写入和修改变得非常容易。 虽然properties配置文件有许多优点,但也有一些限制。首先,它不支持复杂的数据结构,只能存储简单的键值对。其次,由于它的文件格式相对简单,对于存储大量数据或复杂数据的应用程序可能不够灵活。在这种情况下,可能需要考虑使用其他配置文件格式,如XML或JSON。 总体而言,properties配置文件是一种简单、易读、易扩展的配置文件格式,适用于大多数应用程序的配置需求。它的使用简便性和跨平台特性使其成为开发人员们喜爱的配置文件格式之一。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值