利用Properties属性集结合类加载器读取配置文件
配置文件test.properties
a=123
测试类Demo1.java
public class Demo1 {
public static void main(String[] args) throws IOException {
// 创建Properties对象
Properties pro = new Properties();
// 通过类加载器获取输入流
InputStream is = Demo1.class.getClassLoader().getResourceAsStream("test.properties");
// 加载配置文件
pro.load(is);
// 由key获取value
String a = pro.getProperty("a");
System.out.println(a); //
}
}
总结说明:
1. 配置文件的路径放在src目录下时可以只指定文件名(如上面的测试类), 如果不是放在src目录下则需要指定文件的全路径.
2. getResourceAsStream方法是从class文件的目录下读取配置文件.

上图中的test.properties配置文件就是在class文件的根目录下.
3. 配置文件的拓展名可以任意(合法即可),与能否读取到配置信息无关.
初学者凭个人感觉总结, 若有错误请评论指出,将万分感谢!!!
利用Properties属性集结合类加载器读取配置文件的更多相关文章
- Maven中的-D(Properties属性)和-P(Profiles配置文件)
-D代表(Properties属性) 使用命令行设置属性-D的正确方法是: mvn -DpropertyName=propertyValue clean package 如果propertyName不 ...
- java Properties (属性集)
加载Properties Properties downloadLog = new Properties(); try { //加载logFile文件 downloadLog.load(new Fil ...
- JAVA类加载器二 通过类加载器读取资源文件
感谢原文作者:不将就! 原文链接:https://www.cnblogs.com/byron0918/p/5770684.html 一.getResourceAsStream方法 getResourc ...
- Servlet读取配置文件的三种方式
一.利用ServletContext.getRealPath()[或getResourceAsStream()] 特点:读取应用中的任何文件.只能在web环境下. private void text3 ...
- 用类加载器的5种方式读取.properties文件
用类加载器的5中形式读取.properties文件(这个.properties文件一般放在src的下面) 用类加载器进行读取:这里采取先向大家讲读取类加载器的几种方法:然后写一个例子把几种方法融进去, ...
- 字节码技术---------动态代理,lombok插件底层原理。类加载器
字节码技术应用场景 AOP技术.Lombok去除重复代码插件.动态修改class文件等 字节技术优势 Java字节码增强指的是在Java字节码生成之后,对其进行修改,增强其功能,这种方式相当于对应用 ...
- java笔记--理解java类加载器以及ClassLoader类
类加载器概述: java类的加载是由虚拟机来完成的,虚拟机把描述类的Class文件加载到内存,并对数据进行校验,解析和初始化,最终形成能被java虚拟机直接使用的java类型,这就是虚拟机的类加载机制 ...
- Java类加载器的工作原理
Java类加载器的作用就是在运行时加载类.Java类加载器基于三个机制:委托.可见性和单一性.委托机制是指将加载一个类的请求交给父类加载 器,如果这个父类加载器不能够找到或者加载这个类,那么再加载它. ...
- 深入理解Java类加载器(1)
类加载器概述: java类的加载是由虚拟机来完成的,虚拟机把描述类的Class文件加载到内存,并对数据进行校验,解析和初始化,最终形成能被java虚拟机直接使用的java类型,这就是虚拟机的类加载机制 ...
随机推荐
- xadmin引入django-import-export导入功能
一.安装 由于xadmin自带的包里面已经包含了django-import-export 所以不用再pip install django-import-export了 但是xadmin管理后台只有导出 ...
- KL散度=交叉熵-熵
熵:可以表示一个事件A的自信息量,也就是A包含多少信息. KL散度:可以用来表示从事件A的角度来看,事件B有多大不同. 交叉熵:可以用来表示从事件A的角度来看,如何描述事件B. 一种信息论的解释是: ...
- 201671010402-陈靖 实验十四 团队项目评审&课程学习总结
项目 内容 任课教师博客主页链接 https://www.cnblogs.com/nwnu-daizh/ 作业要求链接地址 https://www.cnblogs.com/nwnu-daizh/p/1 ...
- python字典中显示中文
#coding=utf-8import jsondict={'title':"这是中文"}print json.dumps(dict,ensure_ascii=False,enco ...
- VIJOS-P1320 清点人数
JDOJ 1427: VIJOS-P1320 清点人数 题目传送门 Description 初始时,火车上没有学生:当同学们开始上火车时,年级主任从第一节车厢出发走到最后一节车厢,每节车厢随时都有可能 ...
- 第二阶段冲刺(个人)——two
今天的计划: 测试登录功能并优化. 昨天做了什么呢? 修改登录界面. 遇到的困难:一些标签运用不好,过程进度慢,改了又改.
- Spring Boot 各版本的Java版本要求
Spring Boot 各版本的Java版本要求 Spring Boot 与 Java 对应版本,以下表格由官方网站总结. 官网:https://spring.io/projects/spring-b ...
- MySQL基于 amoeba.xml的读写分离
1.准备两台服务器 centos7 192.168.52.35 192.168.52.36 2.关闭防火墙 [root@localhost ~]# systemctl stop firewalld ...
- Layui 必填验证
lay-verify="required"
- ESA2GJK1DH1K升级篇: 移植远程更新程序到STM32F103RET6型号的单片机,基于(GPRS模块AT指令TCP透传方式)
前言 上节实现远程更新是更新的STM32F103C8T6的单片机 GPRS网络(Air202/SIM800)升级STM32: 测试STM32远程乒乓升级,基于(GPRS模块AT指令TCP透传方式),定 ...