Spring读取properties

resources下有如下properties文件,modelgid.properties中存着key-value对应关系。

    ResourceBundle bundle = PropertyResourceBundle.getBundle("modelgid");
      
       Enumeration keys = bundle.getKeys();
        while(keys.hasMoreElements()) {
            String model = String.valueOf(keys.nextElement());
            String gid = bundle.getString(model);
            logger.info(model + "=" + gid);
            exportDataToMongo(model, gid, year);
        }

上方法获取到的model-gid对应关系列表是无序的,

或者使用如下方法,一行一行按顺序读取。即可获取完整的有序配置文件内容。

public class PropertiesUtils {
    private static Logger logger = LoggerFactory.getLogger(PropertiesUtils.class);

    public static List<String> getProperties(String propertyName) throws IOException{
        InputStream fis = null;
        StringBuffer sbf = null;
        BufferedReader br = null;
        List<String> properties = new ArrayList<>();
        try {
            fis = PropertiesUtils.class.getClassLoader().getResourceAsStream(propertyName);

            br = new BufferedReader(new InputStreamReader(fis));
            String line = "";
            while ((line = br.readLine()) != null && !line.equals("")) {
                properties.add(line);
            }

        } finally {
            if (br != null){
                br.close();
            }
            if (fis != null){
                fis.close();
            }
        }

        return properties;
    }
        try {
            List<String> properties = PropertiesUtils.getProperties("modelgid.properties");
            for (String property:properties){
                String model = property.split("=")[0];
                String gid = property.split("=")[1];
                logger.info(model + "=" + gid);
                exportDataToMongo(model, gid, year);
            }
        } catch (IOException e) {
            logger.error("getProperties error:" + e.getMessage(), e);
            return;
        }
原文地址:https://www.cnblogs.com/iiot/p/7978948.html