常用工具类

常用工具类

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.math.BigDecimal;
import java.util.Collection;
import java.util.Map;
import java.util.Random;

import com.google.common.base.Strings;
import com.nonobank.common.base.RandomNumbers;

/**
 * 常用工具类
 * @author changbingbing
 *
 */
public class Utils {
    final static int BUFFER_SIZE = 4096;
    private final static String[] RANDOM_CODE = { "0", "1", "2", "3", "4", "5",
            "6", "7", "8", "9", "a", "b", "c", "d", "", "e", "f", "g", "h",
            "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u",
            "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H",
            "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U",
            "V", "W", "X", "Y", "Z" };

 生成8位随机整数

/**
     * 
     * @Title: get8Random
     * @Description:生成8位随机整数
     * @return
     * @Return: String
     *
     */
    private static String get8Random() {
        String arr[] = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" };
        String myRandom = "";
        for (int i = 0; i < 8; i++) {
            int lotteryNumber = new Random().nextInt(10);
            myRandom = myRandom + arr[lotteryNumber];
        }
        return myRandom;
    }

 屏蔽身份证

/**
     * 屏蔽身份证
     * 
     * @param idnum
     * @return
     */
    public static String hideIdnum(String idnum) {
        if (Strings.isNullOrEmpty(idnum))
            return "";
        if (idnum.length() == 18)
            return idnum.substring(0, 6) + "********" + idnum.substring(14);
        else if (idnum.length() == 15)
            return idnum.substring(0, 6) + "********" + idnum.substring(12);
        return "";
    }

 将生成的html协议文件输出到指定的文件

/**
     * 将生成的html协议文件输出到指定的文件
     * 
     * @param content
     * @param path
     * @param fileName
     * @throws IOException
     */
    public static void writeToFile(String content, String path, String fileName)
            throws IOException {
        String head = "<html>"
                + "<head>"
                + "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />"
                + "</head>";
        String tail = "</body></html>";
        try (FileWriter fw = new FileWriter(path + File.separator + fileName)) {
            fw.write(head);
            fw.write(content);
            fw.write(tail);
        }
    }

 判断对象或对象数组中每一个对象是否为空 对象为null,字符序列长度为0,集合类、Map为empty

/**
     * 
     * @Title: isNull
     * @Description:判断对象或对象数组中每一个对象是否为� 对象为null,字符序列长度为0,集合类、Map为empty
     * @param obj
     * @return
     * @throws IOException
     * @Return: boolean
     *
     */
    public static boolean isNullOrEmpty(Object obj) {
        if (obj == null)
            return true;

        if (obj instanceof CharSequence)
            return ((CharSequence) obj).length() == 0;

        if (obj instanceof Collection)
            return ((Collection) obj).isEmpty();

        if (obj instanceof Map)
            return ((Map) obj).isEmpty();

        if (obj instanceof Object[]) {
            Object[] object = (Object[]) obj;
            if (object.length == 0) {
                return true;
            }
            boolean empty = true;
            for (int i = 0; i < object.length; i++) {
                if (!isNullOrEmpty(object[i])) {
                    empty = false;
                    break;
                }
            }
            return empty;
        }
        return false;
    }

 2个double相除,并传入精度,得出结论

/**
     * 
     * @Title: div
     * @Description:2个double相除,并传入精度,得出结论
     * @param d1
     * @param d2
     * @param len
     * @return
     * @Return: double
     *
     */
    public static double div(double d1, double d2, int len) {// 进行除法运算
        BigDecimal b1 = new BigDecimal(d1);
        BigDecimal b2 = new BigDecimal(d2);
        return b1.divide(b2, len, BigDecimal.ROUND_HALF_UP).doubleValue();
    }

 保留2位有效数字,四舍五入

/**
     * 保留2位有效数字,四舍五入
     * @param amount
     * @return
     */
    public static BigDecimal Scale(BigDecimal amount){
        return amount.setScale(2, BigDecimal.ROUND_HALF_UP);
    }

 将InputStream转换成某种字符编码的String

/**
     * 将InputStream转换成某种字符编码的String
     * 
     * @param in
     * @param encoding
     * @return
     * @throws Exception
     */
    public static String InputStreamTOString(InputStream in, String encoding)
            throws Exception {
        ByteArrayOutputStream outStream = new ByteArrayOutputStream();
        byte[] data = new byte[BUFFER_SIZE];
        int count = -1;
        while ((count = in.read(data, 0, BUFFER_SIZE)) != -1)
            outStream.write(data, 0, count);

        data = null;
        return new String(outStream.toByteArray(), encoding);
    }

 生成N位随机数

/**
     * 生成N位随机数�
     * 
     * @param length
     *            随机长度
     * @return
     */
    public static String generateRandomNum(int length) {
        Integer verifyNumInt = RandomNumbers.randomInt(length);
        return verifyNumInt.toString();
    }

 

posted @ 2016-06-28 16:20  灰太郎^_^  阅读(233)  评论(0编辑  收藏  举报