java用类加载器的5种方式读取.properties文件

Java用类加载器的5种方式读取.properties文件

1. 使用ClassLoader.getResourceAsStream()

这是最常见的一种方式,可以通过类加载器来加载.properties文件,并返回一个InputStream对象,可以进一步读取文件内容。

String fileName = "config.properties";
InputStream inputStream = getClass().getClassLoader().getResourceAsStream(fileName);
Properties properties = new Properties();
try {
    properties.load(inputStream);
    // 使用properties对象读取文件内容
    String value = properties.getProperty("key");
    System.out.println(value);
} catch (IOException e) {
    e.printStackTrace();
}

2. 使用ClassLoader.getSystemResourceAsStream()

与第一种方式类似,只不过是通过ClassLoader.getSystemResourceAsStream()来获取InputStream对象。

String fileName = "config.properties";
InputStream inputStream = ClassLoader.getSystemResourceAsStream(fileName);
Properties properties = new Properties();
try {
    properties.load(inputStream);
    // 使用properties对象读取文件内容
    String value = properties.getProperty("key");
    System.out.println(value);
} catch (IOException e) {
    e.printStackTrace();
}

3. 使用Class.getResourceAsStream()

通过类对象的getResourceAsStream()方法可以加载与类相对路径的资源文件,同样返回一个InputStream对象。

String fileName = "config.properties";
InputStream inputStream = getClass().getResourceAsStream(fileName);
Properties properties = new Properties();
try {
    properties.load(inputStream);
    // 使用properties对象读取文件内容
    String value = properties.getProperty("key");
    System.out.println(value);
} catch (IOException e) {
    e.printStackTrace();
}

4. 使用Class.getResource()

与第三种方式类似,只不过是通过类对象的getResource()方法来获取资源的URL对象,可以进一步通过URL对象获取InputStream,并加载文件内容。

String fileName = "config.properties";
URL url = getClass().getResource(fileName);
Properties properties = new Properties();
try {
    InputStream inputStream = url.openStream();
    properties.load(inputStream);
    // 使用properties对象读取文件内容
    String value = properties.getProperty("key");
    System.out.println(value);
} catch (IOException e) {
    e.printStackTrace();
}

5. 使用ClassLoader.getSystemClassLoader().getResourceAsStream()

这种方式与第二种方式类似,只不过是通过ClassLoader.getSystemClassLoader()来获取类加载器对象,然后使用getResourceAsStream()加载资源文件。

String fileName = "config.properties";
InputStream inputStream = ClassLoader.getSystemClassLoader().getResourceAsStream(fileName);
Properties properties = new Properties();
try {
    properties.load(inputStream);
    // 使用properties对象读取文件内容
    String value = properties.getProperty("key");
    System.out.println(value);
} catch (IOException e) {
    e.printStackTrace();
}

以上就是使用类加载器的5种方式读取.properties文件的攻略。通过这些方式,我们可以方便地加载和读取配置文件的内容,提高程序的灵活性和可维护性。

注意:在使用以上方式读取.properties文件时,需要确保文件路径正确,文件位于类路径下或指定的资源路径下。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java用类加载器的5种方式读取.properties文件 - Python技术站

(0)
上一篇 2023年6月28日
下一篇 2023年6月28日

相关文章

  • vue 实现element-ui中的加载中状态

    针对这个问题我将提供一份基本的思路和步骤。 思路 在 Element UI 中,它提供了一种自己的 loading 组件,用于展示加载状态。而它的实现方式是使用 Vue 在全局挂载了一个 $loading 对象,里面包含了一些属性、方法和事件。我们可以借鉴这个实现方式,来实现自己的加载中状态。 主要思路是: 在 Vue 的原型上定义一个名为 $loading…

    other 2023年6月25日
    00
  • win10如何自定义图标 win10自定义图标的方法

    以下是详细讲解“win10如何自定义图标 win10自定义图标的方法”的完整攻略。 1. 选择需要自定义图标的文件/文件夹 首先,需要选择需要自定义图标的文件或文件夹。注意,自定义图标只能修改文件/文件夹的图标,而不能在桌面上创建一个全新的图标。 2. 准备自定义图标 可以从互联网上下载一些自己喜欢的图标,也可以自己设计制作。这里以从互联网上下载为例,具体步…

    other 2023年6月25日
    00
  • Windows下Apache应用环境塔建安全设置(目录权限设置)

    Windows下Apache应用环境搭建安全设置是非常重要的一个环节,可以有效的保障Apache应用在使用过程中的安全性。其中,目录权限设置是其中一个重要的步骤。 目录权限设置 在Apache服务器中,目录权限设置是非常重要的,需要对目录进行设定,以保证在使用过程中的安全性,避免非法访问或者恶意攻击。 1. 设定目录读写权限 对于目录的读写权限,我们需要设定…

    other 2023年6月27日
    00
  • 如何查找ip地址 查找本地IP/网络IP/对方IP地址图文教程

    如何查找IP地址 IP地址是用于在网络中标识设备的唯一地址。在本教程中,我们将详细介绍如何查找本地IP地址、网络IP地址和对方IP地址。 查找本地IP地址 本地IP地址是指你的设备在局域网中的地址。以下是查找本地IP地址的步骤: 打开你的操作系统的命令提示符或终端窗口。 在命令提示符或终端窗口中输入以下命令:ipconfig(对于Windows系统)或ifc…

    other 2023年7月29日
    00
  • vue3中的hook简单封装

    下面是关于“vue3中的hook简单封装”的完整攻略: 一、Vue3中的Hook 在Vue3中,我们可以使用三种类型的Hook: Setup Hook:这是Vue3中的重要新增特性,我们可以在这个函数中进行组件的初始化,并且可以访问到组件的props、data、methods等属性和方法。 Lifecycle Hook:这些Hook会在组件的生命周期内自动被…

    other 2023年6月25日
    00
  • 新手入门必看:InDesign最常见问题22例整理大全

    新手入门必看:InDesign最常见问题22例整理大全攻略 1. 什么是InDesign? InDesign是一款由Adobe开发的专业排版软件,广泛用于制作印刷品、电子出版物和交互式文档。 2. 如何创建新文档? 要创建新文档,请按照以下步骤操作:- 打开InDesign软件。- 在菜单栏中选择“文件”>“新建”>“文档”。- 在弹出的对话框中…

    other 2023年8月5日
    00
  • asp.net简述MVC开发模式

    ASP.NET简述MVC开发模式 MVC是Model-View-Controller的缩写,是一种软件设计模式。这种模式将一个应用程序分成三个核心部分:模型(Model)、视图(View)以及控制器(Controller)。MVC模式在ASP.NET中的应用越来越广泛,下面我们来详细了解一下。 MVC模型 模型(Model)表示应用程序的核心(比如数据库记录…

    其他 2023年3月28日
    00
  • sqlite数据表主键设置id自增方法

    简介 SQLite是一种轻量级的关系型数据库管理系统,它支持多种数据类型和SQL语句。在SQLite中,我们可以使用自增键来确保每个记录都有唯一的标识符。在本攻略中,我们将介绍如何使用SQLite数据表主键设置id自增方法。 步骤 以下是使用SQLite数据表主键设置id自增方法的步骤。 步骤1:创建数据表 先,我们需要创建一个数据表。我们可以使用以下SQL…

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