java基础|Properties文件解析
在我们的项目工程里面,经常需要对properties的文件,下面是其实现
test.properties
jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/future?useUnicode=true&characterEncoding=utf-8 jdbc.username=root jdbc.password=root
文件解析类实现
import javax.naming.ConfigurationException; import java.io.IOException; import java.io.InputStream; import java.util.Enumeration; import java.util.HashMap; import java.util.Map; import java.util.Properties; /** * @author durant.zeng */ public class PropertiesParse { private static final Map<String,String> PROPERTIESMAP; static { PROPERTIESMAP = new HashMap<> (); } public static void readConfigProperties(String PropertiesPath) throws IOException, ConfigurationException { InputStream is = PropertiesParse.class.getResourceAsStream ( PropertiesPath); if(is==null){throw new ConfigurationException ("打开配置文件" + PropertiesPath + "失败" ); } Properties properties = new Properties (); //加载文件 properties.load (is); //获得properties文件的keys集合 Enumeration<Object> keysset = properties.keys(); while (keysset.hasMoreElements ()){ String key = (String) keysset.nextElement (); String value = properties.getProperty (key); PROPERTIESMAP.put ( key,value ); } } public static String getValue(String key){ return PROPERTIESMAP.get (key); } }
测试类:
import javax.naming.ConfigurationException; import java.io.IOException; public class PropertiesDemo { public static void main(String[] args) { try { PropertiesParse.readConfigProperties ( "/test.properties" ); } catch (IOException | ConfigurationException e) { e.printStackTrace ( ); } System.out.println ( PropertiesParse.getValue ( "jdbc.driver" )); } }
测试结果:
com.mysql.jdbc.Driver
知道、想到、做到、得到