常用工具类
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();
}