基于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性能优化综述(很好的总结,不要错过哦)第1/3页

    我很乐意为你提供有关“SQL SERVER性能优化综述”的完整攻略。下面,我将按照以下步骤进行讲解: 1.简介:介绍为什么要进行SQL SERVER性能优化,以及提升SQL SERVER性能的好处。 2.诊断:讲解如何诊断SQL SERVER性能瓶颈,具体包括SQL SERVER性能诊断工具,如何分析性能日志等。 3.优化:讲解如何进行SQL SERVER性…

    database 2023年5月19日
    00
  • 高效的数据同步工具DataX的使用及实现示例

    高效的数据同步工具DataX的使用及实现示例 简介 DataX是一款由阿里巴巴集团开发的一款高效的数据同步工具,目前已经开源,支持大规模数据迁移和同步。它支持多种类型的数据库和数据格式之间的转换,可以应用于数据仓库、数据集市、数据接口等场景。本文将介绍DataX的使用及实现示例。 安装 前置依赖 DataX需要JDK 1.8或以上版本,以及Python 2.…

    database 2023年5月22日
    00
  • Navicat 连接SQLServer数据库(图文步骤)

    下面是连接 SQL Server 数据库的 Navicat 教程: 1. 下载安装 Navicat 首先,访问 Navicat 官网下载 Navicat for SQL Server 软件,安装完成后打开软件。 2. 添加新连接 新建一个数据库连接,点击 Navicat 的“连接”按钮,弹出“新建连接”对话框,填写相应信息。 在对话框中,选择“SQL Ser…

    database 2023年5月18日
    00
  • 微信小程序python用户认证的实现

    下面是“微信小程序python用户认证的实现”的完整攻略,包含以下几个部分: 前置条件 认证流程 示例一:使用Flask框架实现用户认证 示例二:使用Django框架实现用户认证 注意事项 前置条件 在开始实现微信小程序python用户认证之前,需要满足以下条件: 了解微信小程序开发相关知识,包括小程序的基本结构、开发工具、接口调用等等。 了解Python开…

    database 2023年5月22日
    00
  • Linux Shell 生成随机数和随机字符串的方法示例

    下面我将详细讲解一下关于“Linux Shell 生成随机数和随机字符串的方法”的完整攻略。 生成随机数 有时我们需要生成随机数,可以使用 Shell 内置的 $RANDOM 变量。它可以返回一个介于0~32767之间的随机数。 下面是一个 $RANDOM 的示例: #!/bin/bash for i in {1..10} do echo "第 $…

    database 2023年5月22日
    00
  • C#利用GDI绘制常见图形和文字

    C#利用GDI绘制常见图形和文字攻略 简介 GDI(Graphics Device Interface)是Windows图形设备接口,提供了一系列绘制函数,使用GDI可以实现对Windows图形界面的高级控制。C#通过PInvoke方法可以调用GDI的各个函数,通过GDI实现绘制图形和文字,可用于Windows窗体界面设计。本攻略将介绍如何使用C#和GDI绘…

    database 2023年5月21日
    00
  • sql连接查询语句中on、where筛选的区别总结

    SQL连接查询语句中on、where筛选的区别总结: 在SQL连接查询语句中,on和where是两个常用的筛选条件,它们用于对连接的两个表的行进行筛选。下面将详细介绍on和where的用法和区别。 on的用法 on的作用是对连接的两张表进行关联。on和join一起使用,所以它只能用于连接查询中。on条件语句是放在join关键字后面的: SELECT Orde…

    database 2023年5月21日
    00
  • DBMS 中泛化和专业化的区别

    DBMS中的泛化和专业化是数据处理中常用的两个概念。泛化是通过抽取主要特征和抽象,将数据转化为更高层次的概念或模型,从而使得其具有更广泛的应用价值。而专业化则是将泛化后的模型或概念转化为具体的实现或应用。 在实际应用中,泛化和专业化在数据处理中的作用是互为补充的。泛化可以从大量数据中提炼出主要特征和规律,将其转换为更高层次、更具普遍性的概念,使得数据处理变得…

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