当你的业务需要读取自定义的配置文件内容时你是不是傻眼了,我能写出和springboot那种高端的读取配置文件的工具吗???
其实很简单,参考如下代码即可解决你的疑惑:
properties
文件内容如下:
com.marlon=我的英文名字叫marlon
工具类PropertiesUtil
代码内容如下:
import java.io.*;
import java.net.URL;
import java.util.Properties;
/**
* @author marlon
* @date 2021年8月10日 11:39:34
*/
public class PropertiesUtil {
private static Properties props = null;
private static File configFile = null;
private static long fileLastModified = 0L;
private static String configFileName = "test.properties";
private static void init() {
URL url = ProUtil.class.getClassLoader().getResource(configFileName);
configFile = new File(url.getFile());
fileLastModified = configFile.lastModified();
props = new Properties();
load();
}
private static void load() {
try {
props.load(new InputStreamReader(new FileInputStream(configFile),"UTF-8"));
fileLastModified = configFile.lastModified();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
public static String getConfig(String key) {
if ((configFile == null) || (props == null)) init();
if (configFile.lastModified() > fileLastModified) load(); //当检测到文件被修改时重新加载配置文件
return props.getProperty(key);
}
public static void main(String[] args){
System.out.println(getConfig("com.marlon"));
}
}