基于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日

相关文章

  • 8种MySQL分页方法总结

    8种MySQL分页方法总结 在进行数据库查询时,经常会遇到需要分页显示结果的情况。MySQL提供了多种分页方法,本文将总结8种常用的MySQL分页方法,并给出示例说明。 1. LIMIT offset, num 此方法是MySQL最常用的分页方法。其中,offset表示从结果集的第几行开始返回结果,num表示返回的行数。 示例1: SELECT * FROM…

    database 2023年5月19日
    00
  • Redis-Scan命令

                                                                                Scan命令 Scan命令:从海量的 key 中找出满足特定前缀的 key 列表 查询key为某一类型的数据可能有很多方法,例如可以通过keys*或者是keys codehole*,查询key前缀为codeh…

    Redis 2023年4月11日
    00
  • 如何在Python中使用SQLAlchemy ORM操作数据库?

    如何在Python中使用SQLAlchemy ORM操作数据库? SQLAlchemy是一个Python ORM(对象关系映射)库,它提供了一种简单的方式来操作关系型数据库。使用SQLAlchemy,我们可以使用Python代码来创建、读取、更新删除关系数据库中的数据。以下是如何在Python中使用SQLAlchemy ORM操作的完整使用攻略,包括连接数据…

    python 2023年5月12日
    00
  • Linux下将excel数据导入到mssql数据库中的方法

    下面是“Linux下将excel数据导入到mssql数据库中的方法”的完整攻略: 准备工作 安装FreeTDS和unixODBC sudo apt-get updatesudo apt-get install freetds-dev unixodbc-dev 安装Python包pyodbc pip install pyodbc 步骤 创建一个ODBC数据源 …

    database 2023年5月22日
    00
  • PHP操作MySQL的常用代码段梳理与总结

    PHP是一种广泛使用的服务器端编程语言,而MySQL是一种流行的关系型数据库。PHP操作MySQL是Web开发中常见的任务之一。这篇文章将梳理并总结PHP操作MySQL的常用代码片段,并提供两个示例说明。 连接MySQL 在PHP中,连接MySQL数据库是首要任务,可以使用以下代码完成: <?php $host = "localhost&qu…

    database 2023年5月22日
    00
  • 云服务器centos8安装oracle19c的详细教程

    下面我将为您详细讲解云服务器centos8安装oracle19c的详细教程。 准备工作 在开始安装oracle19c之前,我们需要完成以下准备工作: 确认服务器的硬件配置是否满足oracle19c的最低要求。 确认服务器操作系统是否为centos8,并确保系统已更新到最新版本。 下载oracle19c的安装文件,可以从官网下载。 安装Oracle数据库 1.…

    database 2023年5月22日
    00
  • 敏捷IT治理和COBIT之间的区别

    敏捷IT治理和COBIT是两种不同的IT治理框架。 敏捷IT治理 敏捷IT治理是指在IT项目开发和管理中运用敏捷方法论,以快速响应业务需求并持续提高IT项目交付质量和效率。敏捷IT治理强调快速迭代、多方面合作、持续学习和改进的理念。 敏捷IT治理的优势在于能够快速响应用户需求、提高项目周期和交付质量、降低成本等。举个例子,某公司为了推出一款新产品,采用敏捷I…

    database 2023年3月27日
    00
  • 详解如何修改MySQL最大连接数

    接下来我将详细讲解如何修改MySQL最大连接数。 一、了解MySQL最大连接数 MySQL最大连接数指的是在同一时间内,MySQL服务器允许的最大连接数。当连接数超过这个限制时,MySQL将会拒绝新的连接请求。 在默认情况下,MySQL的最大连接数是100个,并发数是256个。但是这个连接数可能不足以支撑一些高并发、大数据量的应用系统,此时需要适当增大MyS…

    database 2023年5月18日
    00
合作推广
合作推广
分享本页
返回顶部