天天看點

java properties工具類_Java-Properties檔案讀取工具類

1 importjava.io.IOException;2 importjava.io.InputStream;3 importjava.util.NoSuchElementException;4 importjava.util.Properties;5

6 importorg.apache.commons.io.IOUtils;7 importorg.slf4j.Logger;8 importorg.slf4j.LoggerFactory;9 importorg.springframework.core.io.DefaultResourceLoader;10 importorg.springframework.core.io.Resource;11 importorg.springframework.core.io.ResourceLoader;12

13

17 public classPropertiesLoader {18 private static Logger logger = LoggerFactory.getLogger(PropertiesLoader.class);19 private static ResourceLoader resourceLoader = newDefaultResourceLoader();20 private finalProperties properties;21

22 publicPropertiesLoader(String... resourcesPaths) {23 properties =loadProperties(resourcesPaths);24 }25

26 publicProperties getProperties() {27 returnproperties;28 }29

30

33 publicBoolean getBoolean(String key) {34 String value =getValue(key);35 if (value == null) {36 throw newNoSuchElementException();37 }38 returnBoolean.valueOf(value);39 }40

41

44 public Boolean getBoolean(String key, booleandefaultValue) {45 String value =getValue(key);46 return value != null ?Boolean.valueOf(value) : defaultValue;47 }48

49

52 publicDouble getDouble(String key) {53 String value =getValue(key);54 if (value == null) {55 throw newNoSuchElementException();56 }57 returnDouble.valueOf(value);58 }59

60

63 publicDouble getDouble(String key, Integer defaultValue) {64 String value =getValue(key);65 return value != null ?Double.valueOf(value) : defaultValue;66 }67

68

71 publicInteger getInteger(String key) {72 String value =getValue(key);73 if (value == null) {74 throw newNoSuchElementException();75 }76 returnInteger.valueOf(value);77 }78

79

82 publicInteger getInteger(String key, Integer defaultValue) {83 String value =getValue(key);84 return value != null ?Integer.valueOf(value) : defaultValue;85 }86

87

90 publicString getProperty(String key) {91 String value =getValue(key);92 if (value == null) {93 throw newNoSuchElementException();94 }95 returnvalue;96 }97

98

101 publicString getProperty(String key, String defaultValue) {102 String value =getValue(key);103 return value != null ?value : defaultValue;104 }105

106

109 privateString getValue(String key) {110 String systemProperty =System.getProperty(key);111 if (systemProperty != null) {112 returnsystemProperty;113 }114 if(properties.containsKey(key)) {115 returnproperties.getProperty(key);116 }117 return "";118 }119

120

123 privateProperties loadProperties(String... resourcesPaths) {124 Properties props = newProperties();125 for(String location : resourcesPaths) {126 InputStream is = null;127 try{128 Resource resource =resourceLoader.getResource(location);129 is =resource.getInputStream();130 props.load(is);131 } catch(IOException ex) {132 logger.info("Could not load properties from path:" + location + ", " +ex.getMessage());133 } finally{134 IOUtils.closeQuietly(is);135 }136 }137 returnprops;138 }139 }