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)相关推荐

  1. 上项线体表位置_LPL退役选手总结最难打的四个位置:TES辅助RNG上单在列

    各位同学大家好,我是爱搞电竞的悠米酱!一年一度的冬季转会期已经进入到了高潮,各大战队都在努力地进行补强,为新赛季做准备.近日,前EDG打野爱萝莉和前RNG上单AmazingJ在直播间就聊起了转会期的情 ...

  2. 今年海信或将与夏普争夺全球电视机市场份额第四的位置

    2017年全球电视机市场的黑马非夏普电视莫属,这家电视机企业在被鸿海收购后,在全球电视机市场发起凶猛的价格战,市场份额增长迅猛,WitsView近日发布的数据显示夏普电视在2017年的出货量达到940 ...

  3. java fseek_转到C中的二进制文件的某个点(使用fseek),然后从该位置读取(使用fread)...

    我想知道这是否是解决问题的最佳方法 . 我知道二进制文件的特定偏移的值,其中我想要的信息被保留...我想要做的是跳转到偏移然后从该位置开始读取一定量的字节 . 在使用谷歌之后,我得出结论,我最好的选择 ...

  4. log4j2入门(四) log4j2.xml配置文件详细实例

    log4j2相对于log4j 1.x有了脱胎换骨的变化,其官网宣称的优势有多线程下10几倍于log4j 1.x和logback的高吞吐量.可配置的审计型日志.基于插件架构的各种灵活配置等.如果已经掌握 ...

  5. android 从文件制定位置读取数据

    今天,简单讲讲android 如何从制定的位置读取文件. 之前,我写了使用FileInputStream使用read(byte[] b)读取文件的博客,每次调用read()时,FileInputStr ...

  6. 读取不同位置的配置文件

    在开发和测试环境中,很容易混淆如何获取不同位置的配置文件.为了避免重复造轮子,在此记录一下自己的解决方案: 可以提出如下设想: 1.在开发环境下,读取resources下的config.propert ...

  7. Polyworks脚本开发学习笔记(十四)-WORKSPACE信息读取及管理

    Polyworks脚本开发学习笔记(十四)-WORKSPACE信息读取及管理 Polyworks的工作任务存储分为工作区和项目两级,通过WORKSPACE命令获取工作任务信息,实现更好的任务管理. 下 ...

  8. 99乘法表的四种位置类型for...in while

    #whlie循环 #方向一(左下角) i = 1 while i<=9: j=1 while j<=i: print("%d*%d=%2d "%(i,j,i*j),en ...

  9. python 四种逐行读取文件内容的方法

    目录 方法一:readline函数 方法二:一次读取多行数据 方法三:直接for循环 方法四:使用fileinput模块 下面是四种Python逐行读取文件内容的方法, 并分析了各种方法的优缺点及应用 ...

最新文章

  1. 毒瘤题No.006-byFHS
  2. 【正一专栏】读《摆渡人》——原来你在这里
  3. bat基础学习--bat批量执行其他bat(startcall),bat执行后暂停(调试)关闭,批量执行关闭exe----基础
  4. Marketing Cloud的contact merge机制
  5. oracle按数据条件进行更新_SQL 基础教程, 创建表,按条件选取数据,数据更新,删除...
  6. Java 8 golang 1.8_Java8 新特性(一) - Lambda
  7. DIV+CSS两种盒子模型
  8. C/C++[codeup 2069]中位数
  9. 如何不打开excel文件搜索其中内容---在线绿色工具
  10. 2019竞赛公开题库c语言,干货!全国电子设计大赛你必知的C语言知识
  11. php怎么把png转化为doc文件,怎么把PNG图片转换成Word文字
  12. 7kyu Jaden Casing Strings
  13. 谷歌学术上不了的解决办法
  14. 德巴赫猜想python_哥德巴赫猜想问题基于Python的验证方法研究
  15. C语言第6次上课随堂讲义
  16. C语言实现简单的ai麻将对局(较大工程,持续更新ing)
  17. 16.4 使用主窗口
  18. 试试在transformers中调用ERNIE
  19. 游戏Flappy Bird走红启示:没人知道玩家想要什么
  20. 用google协作平台6步轻松建立免费个人网站

热门文章

  1. 用pytorch加载训练模型
  2. C++输入输出流进制转换
  3. caffe源码分析:softmax_layer.cpp softmax_loss_layer.cpp
  4. Sci-Hub和 Alexandra 的基本信息
  5. appid 参数错误_辽宁罗茨风机参数
  6. 各个数据库的取一表前N条记录不同SQL写法
  7. 点击表格获取列索引的方法
  8. Delphi中TVarRec做为参数的用法
  9. 23种设计模式C++源码与UML实现--外观模式
  10. HTTP(S)协议详解