对JAVA资源文件操作工具类

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

猜你喜欢

转载自blog.csdn.net/weixin_37166576/article/details/83109483