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

yizhihongxing

请看下面的详细讲解:

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

相关文章

  • MySQ登录提示ERROR 1045 (28000)错误的解决方法

    当使用MySQL登录时,可能会遇到错误提示ERROR 1045 (28000),这通常是因为用户名或密码不正确而导致的,也有可能是权限问题所致。下面是解决方法的完整攻略。 1. 确认用户名和密码 首先,请确认你输入的用户名和密码是否正确。如果你不确定自己的用户名和密码是否正确,可以尝试使用以下命令测试登录: mysql -u username -p 其中,-…

    database 2023年5月18日
    00
  • MongoDB db.serverStatus()输出内容中文注释

    MongoDB是一款常用的数据库,通过db.serverStatus()命令可以查看MongoDB服务器的状态信息。其中输出内容含有大量信息,而且有些信息默认是英文,不太容易理解。为了更好地解读这些信息,可以通过向命令添加参数,来获取MongoDB db.serverStatus()的中文注释。 具体方法如下: 登录MongoDB,在命令行输入以下命令: d…

    database 2023年5月22日
    00
  • Mysql中where与on的区别及何时使用详析

    下面是关于”Mysql中WHERE与ON的区别及何时使用”的完整攻略: 区别 WHERE WHERE是用于筛选行的(即对于SELECT语句或者UPDATE语句,我们使用WHERE语句来筛选需要处理的行记录); WHERE是在数据表中,查询完成后进行过滤的,即先从表中检索记录,再通过WHERE进行判断,将符合条件的记录返回; 示例1: SELECT * FRO…

    database 2023年5月22日
    00
  • Mysql报Table ‘mysql.user’ doesn’t exist问题的解决方法

    问题描述 在使用Mysql时,有时会出现”Table ‘mysql.user’ doesn’t exist”这样的错误提示。这个错误通常是由于Mysql无法找到mysql.user表而导致的,从而无法完成授权等操作。 解决方法 针对这个问题,我们可以考虑以下的解决方法: 方法一:检查mysql.user表是否存在 首先,我们需要检查mysql.user表是否…

    database 2023年5月18日
    00
  • Windows/Mac系统Docker方式安装Mysql(包含utf8)

    下面是详细的攻略: 准备工作 在开始安装Mysql之前,需要先安装Docker。如果你已经安装好了Docker,可以直接跳过这一步。 Windows系统 Windows用户需要前往Docker官网下载并安装Docker Desktop软件,Windows 10版本以上的用户可以在以下链接中下载: https://hub.docker.com/editions…

    database 2023年5月22日
    00
  • MongoDB 简单入门教程(安装、基本概念、创建用户)

    MongoDB 简单入门教程(安装、基本概念、创建用户) 1. 安装 MongoDB 1.1 下载 MongoDB 前往 MongoDB 官网 下载对应的版本,下载完成后解压到本地环境。 1.2 启动 MongoDB 在 MongoDB 的 bin 目录下执行以下命令启动 MongoDB: ./mongod –dbpath /data/db 其中 –db…

    database 2023年5月21日
    00
  • 详解Python操作MongoDB的方法

    安装MongoDB MongoDB的安装很简单,只需要在官网选择对应的操作系统,下载安装包,然后进行安装即可。 安装Python的MongoDB驱动包pymongo 在命令行窗口输入以下命令来安装pymongo包: pip install pymongo 连接MongoDB数据库 Python通过pymongo包来操作MongoDB数据库,连接的方法如下所示…

    MongoDB 2023年3月14日
    00
  • DBMS 中的平凡函数依赖

    DBMS 中的平凡函数依赖 什么是函数依赖 在数据库设计中,函数依赖指的是一个数据关系中的一个属性在给定其他属性后可以推导出唯一的属性值。例如,一个订单中的订单号可以唯一确定订单的客户名。 函数依赖可以分为平凡函数依赖和非平凡函数依赖。 平凡函数依赖 平凡函数依赖是指一个属性A依赖于自身。就是说,A的值总是等于A的值。这种函数依赖是很无用的,因为它并没有提供…

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