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; }