请看下面的详细讲解:
基于Properties类操作.properties配置文件方法总结
1. Properties类介绍
Properties类是Java.util包中的一个类,主要用于操作以键值对形式存储的属性列表(Properties file)。该类定义了多种从属性列表中读取数据、将属性写入文件和从字节流加载属性列表等方法。在Java中,我们经常会用到.properties文件,如数据库连接配置文件、系统配置文件等。
2. Properties类的方法
Properties类提供了多种方法来读取和操作.properties文件,其中主要包括以下几个方法:
1. load(InputStream inStream)方法
该方法从输入流中读取.properties文件内容,并把属性列表转换成Properties对象。
import java.util.*;
import java.io.*;
public class PropertiesDemo {
public static void main(String[] args) {
Properties prop = new Properties();
InputStream input = null;
try {
input = new FileInputStream("config.properties");
// 加载.properties文件
prop.load(input);
// 输出属性值
System.out.println(prop.getProperty("database"));
System.out.println(prop.getProperty("dbuser"));
System.out.println(prop.getProperty("dbpassword"));
} catch (IOException ex) {
ex.printStackTrace();
} finally {
if (input != null) {
try {
input.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
上述代码实现了通过load()方法读取config.properties文件,并输出文件中的属性值。
2. getProperty(String key)方法
该方法用于获取指定key的属性值。
public static void main(String[] args) {
Properties prop = new Properties();
InputStream input = null;
try {
input = new FileInputStream("config.properties");
prop.load(input);
// 获取属性值
String database = prop.getProperty("database");
String dbuser = prop.getProperty("dbuser");
String dbpassword = prop.getProperty("dbpassword");
// 当属性不存在时返回默认值
String dbport = prop.getProperty("dbport", "3306");
System.out.println(database);
System.out.println(dbuser);
System.out.println(dbpassword);
System.out.println(dbport);
} catch (IOException ex) {
ex.printStackTrace();
} finally {
if (input != null) {
try {
input.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
上述代码演示了如何通过getProperty()方法获取属性值,并设置当属性不存在时返回默认值。
3. 示例说明
以下为两个示例,分别演示了如何使用Properties类来读取和写入.properties文件。
示例1:读取.properties文件
config.properties文件内容如下:
database=mysql
dbuser=root
dbpassword=123456
Java代码如下:
import java.util.Properties;
import java.io.InputStream;
import java.io.FileInputStream;
import java.io.IOException;
public class ReadPropertiesFile {
public static void main(String[] args) throws IOException {
// 加载.properties文件
Properties prop = new Properties();
InputStream input = new FileInputStream("config.properties");
prop.load(input);
// 获取属性值
String database = prop.getProperty("database");
String dbuser = prop.getProperty("dbuser");
String dbpassword = prop.getProperty("dbpassword");
// 输出属性值
System.out.println(database);
System.out.println(dbuser);
System.out.println(dbpassword);
input.close();
}
}
运行该代码,控制台会输出以下内容:
mysql
root
123456
示例2:写入.properties文件
Java代码如下:
import java.util.Properties;
import java.io.FileOutputStream;
import java.io.IOException;
public class WritePropertiesFile {
public static void main(String[] args) throws IOException {
// 创建.properties文件
Properties prop = new Properties();
// 设置属性值
prop.setProperty("database", "mysql");
prop.setProperty("dbuser", "root");
prop.setProperty("dbpassword", "123456");
// 写入.properties文件
prop.store(new FileOutputStream("config.properties"), null);
}
}
运行该代码后,会生成一个名为config.properties的.properties文件,其内容如下:
#Fri Dec 31 21:44:34 CST 2021
database=mysql
dbuser=root
dbpassword=123456
4. 总结
以上就是对Properties类操作.properties配置文件方法的总结。本文介绍了Properties类的方法及其使用,在实际开发中,我们会频繁的使用到该类来读取和操作.properties文件。当我们需要读取、修改、写入.properties文件时,可以参考上述方法实现。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:基于Properties类操作.properties配置文件方法总结 - Python技术站