读取resources跟目录下的properties文件工具类

标签: properties 工具类
40人阅读 评论(0) 收藏 举报
分类:

读取resources跟目录下的properties文件工具类


import lombok.extern.slf4j.Slf4j;

import javax.annotation.Nullable;
import javax.validation.constraints.NotBlank;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

/**
 * @author Created by 谭健 on 2018/4/17 0017. 星期二. 10:18.
 * © All Rights Reserved.
 * <p>
 * 读取项目resources根目录下的属性文件
 */

@Slf4j
public class PropertiesUtils {


    /**
     * 读取Properties文件
     *
     * @param fileName 没有后缀的文件名
     */
    public Properties loadWithOutSuffix(@NotBlank String fileName) throws IOException {
        return load(fileName, false);
    }


    /**
     * 读取Properties文件
     *
     * @param fileName 有后缀的文件名
     */
    public Properties loadWithSuffix(@NotBlank String fileName) throws IOException {
        return load(fileName, true);
    }

    private Properties load(@NotBlank String fileName, boolean hasSuffix) throws IOException {
        fileName = hasSuffix ? fileName : fileName + ".properties";
        @Nullable
        InputStream source = Thread.currentThread().getContextClassLoader().getResourceAsStream(fileName);
        return new Properties() {
            private static final long serialVersionUID = 4229468934258808296L;

            {
                try {
                    load(source);
                } catch (IOException e) {
                    throw new IOException("文件不存在");
                }
            }
        };
    }

    private static PropertiesUtils propertiesUtils = null;

    private static class InsideSingleton {
        private static PropertiesUtils propertiesUtilsSingleton = new PropertiesUtils();
    }

    private PropertiesUtils() {
    }

    public static PropertiesUtils getInstance() {
        if (propertiesUtils == null) {
            propertiesUtils = PropertiesUtils.InsideSingleton.propertiesUtilsSingleton;
        }
        return propertiesUtils;
    }

}
查看评论

读取多个或单个Properties文件工具类

多文件 package tools; import java.io.InputStream; import java.util.Hashtable; import java.util.Proper...
  • A8_8A
  • A8_8A
  • 2015-10-16 15:34:54
  • 547

[有图有真相]IDEA下的Maven工程读取properties等资源文件的路径问题

仅供参考,如有错误或不足欢迎留言指正。我们以maven的web项目为例: 接下来我们看看工程结构:这里只讨论src目录和target目录 src目录: src/main/java: java:...
  • JohnyHe
  • JohnyHe
  • 2017-10-23 23:51:58
  • 1808

scala学习-12-scala读取java项目下Src目录下的properties文件

scala读取java项目下Src目录下的properties文件 package scalaimport java.util.Properties import java.io.FileInput...
  • qq_21383435
  • qq_21383435
  • 2017-12-08 14:57:37
  • 256

java读取resouces目录下文件

resources中存放一些个资源文件,比如properties文件等,编译好会自动将这里边的文件复制到target/classes里去。获取资源文件的方法说明: XXX.class.getResou...
  • xuemengrui12
  • xuemengrui12
  • 2017-06-15 15:21:57
  • 1896

java读写src目录下的properties文件

对于properties文件的读写其实也很简单,只是路径不太好找,我查了很长时间才查到的,在这里分享给需要的朋友。 获取src目录下的properties文件的路径用下面这句代码: thi...
  • lee4755026
  • lee4755026
  • 2013-02-06 16:55:07
  • 33901

读取Java项目中src/main/resources下的json文件

File jsonFile = ResourceUtils.getFile("classpath:world_geo.json");
  • w592376568
  • w592376568
  • 2017-10-09 15:48:40
  • 1431

Android中assets目录和raw目录的区别及其中properties资源文件的读取

一、assets和raw目录 1. assets。assets类资源放在工程根目录的assets子目录下,它里面保存的是一些原始的文件,可以以任何方式来进行组织。这些文件最终会被原装不动地打包在apk...
  • honghailiang888
  • honghailiang888
  • 2016-08-15 16:19:00
  • 1640

web项目读写src目录下的.properties文件

1.读properties文件 Properties pro = new Properties(); pro.load(ConfigServlet.class.getResourceAsStream(...
  • zhya910702
  • zhya910702
  • 2015-03-31 21:16:29
  • 2032

Maven项目中properties文件的加载方式

Maven项目中,读取properties配置文件。 (1)properties文件在src/main/java的根目录中时加载文件使用:PropertyConfigurator.configure(...
  • qq_21909121
  • qq_21909121
  • 2017-12-04 15:58:29
  • 259

spring applicationContext.xml文件移到resources目录下,需要做哪些事情

移动到resources目录下面,分别指定Spring和Mybatis的配置文件与Dispatcher的配置文件    这两个文件是到WEB-INF目录下面找...
  • m414160547
  • m414160547
  • 2017-03-21 10:09:57
  • 185
    个人资料
    专栏达人 持之以恒
    等级:
    访问量: 19万+
    积分: 3381
    排名: 1万+
    个人说明
    博客专栏