Java中Properties的使用详解
Properties介绍
Properties
是Java API中的一个类,用于读取和写入.properties文件。这个类继承了Hashtable类,所以使用了键值对的形式存储数据。在Java开发中,经常需要配置一些参数,使用Properties能够很好的帮助我们操作这些参数。下面是Properties的常用方法:
getProperty(key)
:根据key获取对应的valuesetProperty(key, value)
:向Properties中添加一个新的键值对load(InputStream inputStream)
:读取properties文件中的所有数据并装载到Properties对象中load(Reader reader)
:根据Reader读取properties中的所有数据并装载到Properties对象中store(OutputStream outputStream, String comments)
:将Properties中的所有键值对写入到OutputStream中store(Writer writer, String comments)
:根据Writer将Properties中的所有键值对写入到OutputStream中
Properties示例
下面是示例1的代码。
示例1
我们现在有一个配置文件test.properties,里面包含了一些配置信息。
# database configs
db.host=localhost
db.port=3306
db.username=root
db.password=123456
现在我们需要读取这些配置信息,并且在程序中使用。我们可以使用Properties类实现这个功能。
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
public class ReadPropertiesFile {
public static void main(String[] args) throws IOException {
InputStream input = ReadPropertiesFile.class.getClassLoader().getResourceAsStream("test.properties");
Properties properties = new Properties();
properties.load(input);
// 读取配置文件中的数据
String host = properties.getProperty("db.host");
String port = properties.getProperty("db.port");
String username = properties.getProperty("db.username");
String password = properties.getProperty("db.password");
// 输出获取的数据
System.out.println("host: " + host);
System.out.println("port: " + port);
System.out.println("username: " + username);
System.out.println("password: " + password);
}
}
这个程序的输出结果如下:
host: localhost
port: 3306
username: root
password: 123456
示例2
下面是示例2的代码。
我们可以使用Properties类将数据写入到一个.properties文件中。假设我们有一个Map
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
public class WritePropertiesFile {
public static void main(String[] args) throws IOException {
Map<String, String> map = new HashMap<>();
map.put("key1", "value1");
map.put("key2", "value2");
map.put("key3", "value3");
Properties properties = new Properties();
for(String key: map.keySet()){
properties.setProperty(key, map.get(key));
}
FileOutputStream outputStream = new FileOutputStream("test.properties");
properties.store(outputStream, "");
outputStream.flush();
outputStream.close();
}
}
这个程序的输出结果是name.properties文件内容如下:
#Thu Nov 05 16:57:36 CST 2020
key1=value1
key2=value2
key3=value3
总结
在Java中,Properties类非常重要,因为它可以方便地处理配置文件中的数据。通过以上示例,我们学会了如何读取和写入.properties文件,希望可以帮到大家。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java中Properties的使用详解 - Python技术站