對JAVA資原始檔操作工具類
阿新 • • 發佈:2018-11-11
package com.kkmall.risk.common.utils; import java.io.IOException; import java.io.InputStream; import java.io.UnsupportedEncodingException; import java.net.URLConnection; import java.util.Properties; import org.apache.commons.lang.ObjectUtils; import org.apache.commons.lang.StringUtils; import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.Resource; /** * 對JAVA資原始檔操作工具類 * 該類為配置類 * */ public class PropertyContext { private Properties propertie; private String filePath; private String coding = "UTF-8"; private static PropertyContext context = null; public static PropertyContext PropertyContextFactory(String pathFile) { if (StringUtils.isNotBlank(ObjectUtils.toString(context))) return context; return new PropertyContext(pathFile); } private PropertyContext() { // TODO Auto-generated constructor stub } /** * 初始化 propertie 對像 * * @param pathFile */ private PropertyContext(String pathFile) { // TODO Auto-generated constructor stub Properties prope; InputStream inputStream = null; try { URLConnection urlConnection = this.getFileCon(pathFile); if (StringUtils.isBlank(ObjectUtils.toString(urlConnection))) { System.out.println("YSLog:"+"ERROR File:" + pathFile + " not find!"); return; } else { inputStream = urlConnection.getInputStream(); } if (StringUtils.isNotBlank(ObjectUtils.toString(inputStream))) { prope = new Properties(); } else { System.out.println("YSLog:"+"ERROR File:" + pathFile + " not find!"); return; } prope.load(inputStream); this.propertie = prope; this.filePath = pathFile; } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } finally { try { if (StringUtils.isNotBlank(ObjectUtils.toString(inputStream))) { inputStream.close(); inputStream = null; } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } /** * 初始化 propertie 對像 * * @param pathFile */ public PropertyContext(String pathFile, String coding) { // TODO Auto-generated constructor stub Properties prope; InputStream inputStream = null; try { URLConnection urlConnection = this.getFileCon(pathFile); if (StringUtils.isBlank(ObjectUtils.toString(urlConnection))) { System.out.println("weixinLog:"+"ERROR File:" + pathFile + " not find!"); return; } else { inputStream = urlConnection.getInputStream(); } if (StringUtils.isNotBlank(ObjectUtils.toString(inputStream))) { prope = new Properties(); } else { System.out.println("weixinLog:"+"ERROR File:" + pathFile + " not find!"); return; } prope.load(inputStream); this.propertie = prope; this.filePath = pathFile; this.coding = coding; } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } finally { try { if (StringUtils.isNotBlank(ObjectUtils.toString(inputStream))) { inputStream.close(); inputStream = null; } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } /** * 得到URLConnection 對像 * * @param filename * @return URLConnection */ private URLConnection getFileCon(String filename) { try { Resource resource = new ClassPathResource(filename); if (resource.exists()) { return resource.getURL().openConnection(); } else { System.out.println("weixinLog:"+"ERROR File:" + filename + " not find!"); return null; } } catch (Exception e) { e.printStackTrace(); return null; } } public String getValue(String key) { try { String value = this.propertie.getProperty(key); if (StringUtils.isNotBlank(value)) { byte[] bytes = value.getBytes("iso8859-1"); String str = new String(bytes, this.coding); return str; } return null; } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); return null; } } public String get(String key) { try { return this.propertie.getProperty(key); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); return null; } } public String getChinese(String key) { try { String value = this.propertie.getProperty(key); if (StringUtils.isNotBlank(value)) { byte[] bytes = value.getBytes("iso8859-1"); String str = new String(bytes, "GBK"); return str; } return null; } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); return null; } } }
測試類:
package com.kkmall.risk.common.utils; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; /** * 根據時間驗證資料是否有效 * * @author gan * * 2018年10月17日 */ public class DataValidity { private static PropertyContext propertyContext = PropertyContext.PropertyContextFactory("config.properties"); private static final String DAY = propertyContext.get("day"); public static Boolean validity(Date date1) { Date date2 = new Date(); int day = differentDaysByMillisecond(date1, date2); if (day >= Integer.parseInt(DAY) ) { return true; } return false; } public static int differentDaysByMillisecond(Date date1, Date date2) { int days = (int) ((date2.getTime() - date1.getTime()) / (1000 * 3600 * 24)); return days; } public static void main(String[] args) { String dateStr = "2008-1-1 1:21:28"; SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { Date date = format.parse(dateStr); System.out.println(validity(date)); } catch (ParseException e) { e.printStackTrace(); } } }
兩個類寫完,你還要建立config.properties檔案:
day=30