工具函数--加载自定义配置文件

Java加载自定义配置文件

  1. 配置文件路径:.\\properties\\typeConverter.properties(windows)
#SQL类型和java类型替换规则
VARCHAR=String
BIGINT=Long
INT=Integer
DATE=java.util.Date
DATETIME=java.util.Date
DOUBLE=Double
TEXT=String
VARCHAR2=String
NVARCHAR2=String
NUMBER=Long
CHAR=String
MEDIUMTEXT=String
TINYINT=Integer
LONGTEXT=String
DECIMAL=Double
#Table的前缀或者后缀
tableRemovePrefixes=tb_,co_,pe_,bs_,em_
  1. 实现思路
Created with Raphaël 2.2.0 开始 创建Property对象 获取配置文件所在目录路径的File对象 获取配置文件File对象 获取文件IO字节流对象 通过Property对象加载配置文件的IO字节 Property对象存储到Map集合中 结束
public class PropertiesUtils {
	// 创建用户自定义配置存储Map集合
    public static Map<String,String> customMap = new HashMap<>();
    // 随着类被加载而执行,也就是说只会被执行一次
    static {
    	// 获取配置文件所在路径File对象
        File dir = new File("properties");
        try {
        	// 获取路径下全部的文件
            List<File> files = FileUtils.searchAllFile(new File(dir.getAbsolutePath()));
            // 遍历全部文件
            for (File file : files) {
            	// 只处理.properties后缀的文件
                if(file.getName().endsWith(".properties")) {
                    Properties prop = new Properties();
                    // 加载自定义配置文件
                    prop.load(new FileInputStream(file));
                    // 存储自定义配置信息到Map集合
                    customMap.putAll((Map) prop);
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

3、补充说明
1)FileUtils.searchAllFile()方法是自定义工具类,作用是返回所在目录下的全部文件,具体实现参考工具函数–加载路径下全部文件
2)static静态代码块,它在PropertiesUtils被加载的时候就会被执行,这保证了这块代码只会被执行一次。

4、参考
【1】数据结构–Properties
【2】 java反射–Class类

猜你喜欢

转载自blog.csdn.net/weixin_38708854/article/details/106147657