c++ properties_Java怎么从这四个位置读取配置文件Properties(普通文件系统-classpath-jar-URL)
1 简介
读取文件内容是Java
常规操作,特别是读取配置文件,本文将介绍四种读取配置文件(Properties格式为例)的情况,分别是从普通文件系统、classpath、jar包内、网络资源URL
。
2 四种位置
通过四个小示例来展示,先准备配置文件pkslow.properties
如下:
name=pkslow
site=www.pkslow.com
(1)普通文件系统
这里说的普通文件系统就是我们平时放文件的目录,如/opt/app/pkslow.properties
,或者是C:pkslow.properties
等。直接用Java读取文件流,然后载入配置。代码如下:
Properties p1 = new Properties();
String filePath = "/Users/xxx/pkslow.properties";
p1.load(new FileInputStream(filePath));
(2)classpath
Classpath
是经常会用到的位置,一般使用Class
类的getResourceAsStream
方法来载入文件流。
Properties p2 = new Properties();
p2.load(ReadPropertiesFile.class.getResourceAsStream("/pkslow.properties"));
这个例子里,配置文件是放在了resources
目录下,src/main/resources/pkslow.properties
。
(3)jar包内
有的时候,我们需要读取第三方库jar包内的配置文件,就需要把该jar包加载进来,也是通过Class
类的getResourceAsStream
方法来读取,代码如下:
Properties p3 = new Properties();
p3.load(ReadPropertiesFile.class.getResourceAsStream("/com/pkslow/basic/pkslow.properties"));
这里的配置文件放在了package
com.pkslow.basic
下面。
(4)网络资源URL
有些文件不在本地,需要通过从网络URL
加载资源,比如一些通过网络共享的配置文件。这种情况要使用URLConnection
来建立连接,然后读取文件流:
URL url = new URL("https://pkslow.com/pkslow.properties");
URLConnection conn = url.openConnection();
InputStream inputStream = conn.getInputStream();
Properties p4 = new Properties();
p4.load(inputStream);
inputStream.close();
3 总结
本文虽然讲的是读取Properties
文件,但其它文件也是类似的。
欢迎访问南瓜慢说 www.pkslow.com获取更多精彩文章!
欢迎关注微信公众号<南瓜慢说>,将持续为你更新...
多读书,多分享;多写作,多整理。
c++ properties_Java怎么从这四个位置读取配置文件Properties(普通文件系统-classpath-jar-URL)相关推荐
- 上项线体表位置_LPL退役选手总结最难打的四个位置:TES辅助RNG上单在列
各位同学大家好,我是爱搞电竞的悠米酱!一年一度的冬季转会期已经进入到了高潮,各大战队都在努力地进行补强,为新赛季做准备.近日,前EDG打野爱萝莉和前RNG上单AmazingJ在直播间就聊起了转会期的情 ...
- 今年海信或将与夏普争夺全球电视机市场份额第四的位置
2017年全球电视机市场的黑马非夏普电视莫属,这家电视机企业在被鸿海收购后,在全球电视机市场发起凶猛的价格战,市场份额增长迅猛,WitsView近日发布的数据显示夏普电视在2017年的出货量达到940 ...
- java fseek_转到C中的二进制文件的某个点(使用fseek),然后从该位置读取(使用fread)...
我想知道这是否是解决问题的最佳方法 . 我知道二进制文件的特定偏移的值,其中我想要的信息被保留...我想要做的是跳转到偏移然后从该位置开始读取一定量的字节 . 在使用谷歌之后,我得出结论,我最好的选择 ...
- log4j2入门(四) log4j2.xml配置文件详细实例
log4j2相对于log4j 1.x有了脱胎换骨的变化,其官网宣称的优势有多线程下10几倍于log4j 1.x和logback的高吞吐量.可配置的审计型日志.基于插件架构的各种灵活配置等.如果已经掌握 ...
- android 从文件制定位置读取数据
今天,简单讲讲android 如何从制定的位置读取文件. 之前,我写了使用FileInputStream使用read(byte[] b)读取文件的博客,每次调用read()时,FileInputStr ...
- 读取不同位置的配置文件
在开发和测试环境中,很容易混淆如何获取不同位置的配置文件.为了避免重复造轮子,在此记录一下自己的解决方案: 可以提出如下设想: 1.在开发环境下,读取resources下的config.propert ...
- Polyworks脚本开发学习笔记(十四)-WORKSPACE信息读取及管理
Polyworks脚本开发学习笔记(十四)-WORKSPACE信息读取及管理 Polyworks的工作任务存储分为工作区和项目两级,通过WORKSPACE命令获取工作任务信息,实现更好的任务管理. 下 ...
- 99乘法表的四种位置类型for...in while
#whlie循环 #方向一(左下角) i = 1 while i<=9: j=1 while j<=i: print("%d*%d=%2d "%(i,j,i*j),en ...
- python 四种逐行读取文件内容的方法
目录 方法一:readline函数 方法二:一次读取多行数据 方法三:直接for循环 方法四:使用fileinput模块 下面是四种Python逐行读取文件内容的方法, 并分析了各种方法的优缺点及应用 ...
最新文章
- 毒瘤题No.006-byFHS
- 【正一专栏】读《摆渡人》——原来你在这里
- bat基础学习--bat批量执行其他bat(startcall),bat执行后暂停(调试)关闭,批量执行关闭exe----基础
- Marketing Cloud的contact merge机制
- oracle按数据条件进行更新_SQL 基础教程, 创建表,按条件选取数据,数据更新,删除...
- Java 8 golang 1.8_Java8 新特性(一) - Lambda
- DIV+CSS两种盒子模型
- C/C++[codeup 2069]中位数
- 如何不打开excel文件搜索其中内容---在线绿色工具
- 2019竞赛公开题库c语言,干货!全国电子设计大赛你必知的C语言知识
- php怎么把png转化为doc文件,怎么把PNG图片转换成Word文字
- 7kyu Jaden Casing Strings
- 谷歌学术上不了的解决办法
- 德巴赫猜想python_哥德巴赫猜想问题基于Python的验证方法研究
- C语言第6次上课随堂讲义
- C语言实现简单的ai麻将对局(较大工程,持续更新ing)
- 16.4 使用主窗口
- 试试在transformers中调用ERNIE
- 游戏Flappy Bird走红启示:没人知道玩家想要什么
- 用google协作平台6步轻松建立免费个人网站