zoukankan      html  css  js  c++  java
  • 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获取更多精彩文章!

    欢迎关注微信公众号<南瓜慢说>,将持续为你更新...

    多读书,多分享;多写作,多整理。

  • 相关阅读:
    trackr: An AngularJS app with a Java 8 backend – Part III
    trackr: An AngularJS app with a Java 8 backend – Part II
    21. Wireless tools (无线工具 5个)
    20. Web proxies (网页代理 4个)
    19. Rootkit detectors (隐形工具包检测器 5个)
    18. Fuzzers (模糊测试器 4个)
    16. Antimalware (反病毒 3个)
    17. Debuggers (调试器 5个)
    15. Password auditing (密码审核 12个)
    14. Encryption tools (加密工具 8个)
  • 原文地址:https://www.cnblogs.com/larrydpk/p/12855610.html
Copyright © 2011-2022 走看看