java解析Properties配置文件为对象Bean
利用java的反射解析Properties文件转成对象 /** * 解析properties文件为对象 * @param <T> * @param propPath * @param cls * @return * @throws InstantiationException * @throws IllegalAccessException * @throws IOException */ public static <T> T paseObject(String propPath, Class<T> cls) throws InstantiationException, IllegalAccessException, IOException { Properties prop = getConfigProperties(propPath); T obj = cls.newInstance(); Field[] fList = obj.getClass().getDeclaredFields(); for (Field field : fList) { String value = prop.getProperty(field.getName()); String typeName = field.getType().getTypeName(); System.out.println(value); System.out.println(typeName); if (value != null) { value = value.trim(); if(typeName.equals("java.lang.String")) { field.set(obj, value); }else if(typeName.equals("int")) { field.setInt(obj, Integer.parseInt(value)); }else if(typeName.equals("float")) { field.setFloat(obj, Float.parseFloat(value)); }else if(typeName.equals("double")) { field.setDouble(obj, Double.parseDouble(value)); }else if(typeName.equals("long")) { field.setLong(obj, Long.parseLong(value)); }else if(typeName.equals("boolean")) { field.setBoolean(obj, Boolean.parseBoolean(value)); }else if(typeName.equals("byte")) { field.setByte(obj, Byte.parseByte(value)); }else if(typeName.equals("short")) { field.setShort(obj, Short.parseShort(value)); } } } return obj; }