首页 > 编程语言 >JAVA进阶--- Properties文件的使用

JAVA进阶--- Properties文件的使用

时间:2023-01-23 20:55:07浏览次数:41  
标签:文件 properties JAVA 进阶 数据库 prop --- Properties String

properties文件介绍 

后缀properties的文件是一种属性文件。这种文件以key=value格式存储内容。Java中可以使用Properties工具类来读取这个文件。

项目中会将一些配置信息放到properties文件中,所以properties文件经常作为配置文件来使用。

Properties工具类

Properties工具类,位于java.util包中,该工具类继承自Hashtable<Object,Object>。通过Properties工具类可以读取.properties类型的配置文件

Properties工具类中常用方法

load(InputStream is)通过给定的输入流对象读取properties文件并解析

getProperty(String key)根据key获取对应的value 

  • 如果properties文件中含有中文那么需要对idea进行设置。
/**
* 读取properties配置文件的测试类
*/
public class PropertiesTest {
    public static void main(String[] args) throws IOException {

/*优化获取数据库连接
    将连接数据库时所需要的信息存放到properties文件中,可以解决硬编码的问题。
    */
        //实例化Properties对象
        Properties prop = new Properties();
        //获取读取properties文件的输入流对象
        InputStream is =PropertiesTest.class.getClassLoader().getResourceAsStream("test.properties");
       //通过给定的输入流对象读取properties文件并解析。
        prop.load(is);
        //获取properties文件中的内容
        String value1 =prop.getProperty("key1");
        String value2 =prop.getProperty("key2");
        String value3 =prop.getProperty("key3");
        System.out.println(value1+" "+value2+" "+value3);
   }
}

#连接Mysql数据库的URL

url=jdbc:mysql://localhost:3306/itbz

#连接数据库的用户名

username=root

#连接数据库的密码

pwd=root

#数据库驱动名称

driver=com.mysql.cj.jdbc.Driver

 

/**
* 优化获取数据库连接
*/
public class JdbcTest2 {
    public static void main(String[] args) throws IOException, ClassNotFoundException,SQLException {
        //实例化Properties对象
        Properties prop = new Properties();
        //获取读取properties文件的字节输入流对象
        InputStream is =JdbcTest2.class.getClassLoader().getResourceAsStream("jdbc.properties");
        //读取properties文件并解析
        prop.load(is);
        //获取连接数据库的url
        String url = prop.getProperty("url");
        //获取连接数据库的用户名
        String name = prop.getProperty("username");
        //获取连接数据库的密码
        String pwd = prop.getProperty("pwd");
        //获取数据库驱动全名
        String drivername = prop.getProperty("driver");
        //加载并注册驱动
        Class.forName(drivername);
        //通过驱动管理器对象获取连接对象
        Connection connection =DriverManager.getConnection(url, name, pwd);
        System.out.println(connection);
   }
}

标签:文件,properties,JAVA,进阶,数据库,prop,---,Properties,String
From: https://www.cnblogs.com/e-link/p/17065517.html

相关文章

  • JavaScript
    JavaScript第三章--类型、值、变量3.10变量声明与赋值3.10.1let,const//let可以声明的同时赋值,也可以只声明,只声明的变量值为undefinedleti,num;letb=10;//co......
  • eunomia-bpf:展望 2023,让 eBPF 插上 Wasm 的翅膀
    回望过去的2022年,有两项技术备受瞩目:eBPF和WebAssembly。eBPF:全新的可能性eBPF是一项革命性的技术,起源于Linux内核,可以在操作系统的内核中运行沙盒程序。它被用来......
  • B - New Place
    B-NewPlacehttps://atcoder.jp/contests/arc154/tasks/arc154_b 思路https://blog.csdn.net/nike0good/article/details/128751025由于操作的特殊性,从s的第一个字......
  • vue:v-model (原生组件与自定义组件)
    vue2:原生组件 vue2:自定义组件 vue3:自定义组件vue3更改了vue2声明自定义组件的方式,将vue2中的value替换成了modelValue,将emit触发的事件名改为'update:model......
  • eunomia-bpf 0.3.0 发布:只需编写内核态代码,轻松构建、打包、发布完整的 eBPF 应用
    eunomia-bpf0.3.0发布:只需编写内核态代码,轻松构建、打包、发布完整的eBPF应用eunomia-bpf简介eBPF源于BPF,本质上是处于内核中的一个高效与灵活的虚拟机组件,以一种......
  • eunomia-bpf:展望 2023,让 eBPF 插上 Wasm 的翅膀
    回望过去的2022年,有两项技术备受瞩目:eBPF和WebAssembly。eBPF:全新的可能性eBPF是一项革命性的技术,起源于Linux内核,可以在操作系统的内核中运行沙盒程序。它被用来安......
  • eunomia-bpf 0.3.0 发布:只需编写内核态代码,轻松构建、打包、发布完整的 eBPF 应用
    eunomia-bpf简介eBPF源于BPF,本质上是处于内核中的一个高效与灵活的虚拟机组件,以一种安全的方式在许多内核hook点执行字节码,开发者可基于eBPF开发性能分析工具、软件......
  • 32. CF-Tree Queries
    题目链接给一棵树,多次询问,每次给出若干个点,问是否存在从从根到叶的一条路径满足这些点到这条路径的距离均不超过\(1\)。容易想到,只需要dfs一遍预处理一下深度之类的信......
  • Java 枚举
    转:Java枚举知识点概念enum的全称为enumeration,是JDK1.5中引入的新特性。在Java中,被enum关键字修饰的类型就是枚举类型。形式如下:enumColor{RED,GREE......
  • Day10-包模块异常
    0-1变量和多态'''变量多态python中的变量(标识符),的类型是根据所代表的对象,进行自动推导得到的'''n=1print(type(n))n=3.14print(type(n))n=Trueprin......