基于Properties类操作.properties配置文件方法总结

请看下面的详细讲解:

基于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技术站

(0)
上一篇 2023年5月21日
下一篇 2023年5月21日

相关文章

  • SQL Server Alwayson创建代理作业的注意事项详解

    SQL Server AlwaysOn创建代理作业的注意事项详解 在SQL Server AlwaysOn部署中,代理作业是用于启动或者取消本地 Availability Group 的 failover 自动化步骤的系统代理任务。本文将详细介绍如何为SQL Server AlwaysOn 配置代理作业,以及需要特别注意的事项和示例。 创建代理作业 在SQL…

    database 2023年5月21日
    00
  • linux系统中重置mysql的root密码

    下面是重置 Linux 系统中 MySQL 的 root 密码的完整攻略。 步骤一:停止 MySQL 服务 在重置 root 密码之前,我们需要先停止 MySQL 服务,确保没有任何连接占用 MySQL 的资源。使用以下命令停止服务: sudo systemctl stop mysql 如果你的系统中没有使用 systemd,则使用以下命令: sudo se…

    database 2023年5月22日
    00
  • 解决Spring Data Jpa 实体类自动创建数据库表失败问题

    解决Spring Data Jpa 实体类自动创建数据库表失败问题的完整攻略如下: 问题描述 在使用Spring Data Jpa时,发现实体类自动创建数据库表失败的情况。这种情况通常会出现在程序初始化时,在控制台中会输出Table ‘xxx’ doesn’t exist等错误信息。究竟出现了什么问题,并该如何解决?这就需要我们进行进一步的分析和解决了。 S…

    database 2023年5月18日
    00
  • plsql连接oracle数据库报ora 12154错误解决方法

    PL/SQL连接Oracle数据库报ORA-12154错误的解决方法 问题描述 在使用Oracle PL/SQL Developer连接Oracle数据库时,可能会出现ORA-12154错误: ORA-12154: TNS:could not resolve the connect identifier specified 这个错误表示PL/SQL Deve…

    database 2023年5月19日
    00
  • 在CentOS7系统上编译安装MySQL 5.7.13步骤详解

    在CentOS7系统上编译安装MySQL 5.7.13步骤详解 MySQL是一种常见的关系型数据库管理系统,本文将解释如何在CentOS7系统上使用源代码编译方式安装MySQL 5.7.13。 步骤 1. 下载MySQL安装包 首先,我们需要从MySQL官网下载MySQL 5.7的源代码包。 # 下载MySQL源代码安装包 wget https://down…

    database 2023年5月22日
    00
  • PowerDesigner15 使用时的十五个问题附解决方法

    PowerDesigner15 使用时的十五个问题附解决方法 PowerDesigner15 是一款非常流行的软件工具,但是在使用中也会遇到一些问题,下面我们来看一下常见的十五个问题,以及解决方法。 1. 如何打开已经保存的 PowerDesigner 文件? 在 PowerDesigner 主页中选择 “打开”,找到已经保存的文件并双击即可打开。 2. 如…

    database 2023年5月21日
    00
  • 使用RestTemplate访问https实现SSL请求操作

    使用RestTemplate访问https实现SSL请求操作是非常常见的场景,本攻略将介绍如何使用RestTemplate实现这一功能。 准备工作 在进行RestTemplate访问https之前,我们需要准备以下环节:1. 证书:SSL通讯涉及到证书认证,因此我们需要将SSL证书下载至本地。可以联系网站管理员获取SSL证书。 安装SSL证书:下载完SSL证…

    database 2023年5月21日
    00
  • Redis 原子操作INCR

    The content below come from http://try.redis.io/  There is something special about INCR. Why do we provide such an operation if we can do it ourself with a bit of code? After all i…

    Redis 2023年4月16日
    00
合作推广
合作推广
分享本页
返回顶部