| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845 |
- package com.happy.Unitil_elc;
- import org.apache.commons.lang3.StringUtils;
- import org.apache.commons.lang3.math.NumberUtils;
- import java.io.UnsupportedEncodingException;
- import java.net.URLDecoder;
- import java.net.URLEncoder;
- import java.security.MessageDigest;
- import java.security.NoSuchAlgorithmException;
- import java.text.BreakIterator;
- import java.text.DecimalFormat;
- import java.util.*;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- public class StringUtil {
- /** 空字符串。 */
- public static final String EMPTY_STRING = "";
- private static final char QUOTE_ENCODE[] = """.toCharArray();
- private static final char AMP_ENCODE[] = "&".toCharArray();
- private static final char LT_ENCODE[] = "<".toCharArray();
- private static final char GT_ENCODE[] = ">".toCharArray();
- private static final int DUMP_HEX_CHAR_COUNT = 75;
- private static MessageDigest digest = null;
- // private static final int fillchar = 61;
- private static Random randGen = new Random();
- private static char numbersAndLetters[] = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".toCharArray();
- private static final char zeroArray[] = "0000000000000000".toCharArray();
- private static final char[] base64Chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".toCharArray();
- private static final char[] upcaseHexChar = "0123456789ABCDEF".toCharArray();
- private static final char[] lowerHexChar = "0123456789abcdef".toCharArray();
- private static int[] hexCharCodes = new int[256];
- private static int[] base64Codes = new int[256];
- static {
- for (int i = 0; i < 256; i++)
- hexCharCodes[i] = base64Codes[i] = -1;
- for (int i = 0; i < base64Chars.length; i++)
- base64Codes[base64Chars[i]] = (byte) i;
- for (int i = 0; i < upcaseHexChar.length; i++)
- hexCharCodes[upcaseHexChar[i]] = (byte) i;
- for (int i = 0; i < lowerHexChar.length; i++)
- hexCharCodes[lowerHexChar[i]] = (byte) i;
- }
- /**
- * 如果字符串是<code>null</code>,则返回指定默认字符串,否则返回字符串本身。
- *
- * <pre>
- * StringUtil.defaultIfNull(null, "default") = "default"
- * StringUtil.defaultIfNull("", "default") = ""
- * StringUtil.defaultIfNull(" ", "default") = " "
- * StringUtil.defaultIfNull("bat", "default") = "bat"
- * </pre>
- *
- * @param str 要转换的字符串
- * @param defaultStr 默认字符串
- * @return 字符串本身或指定的默认字符串
- */
- public static String defaultIfNull(String str, String defaultStr) {
- return (str == null) ? defaultStr : str;
- }
- public static boolean isDigits(String str) {
- if ((str == null) || (str.length() == 0)) {
- return false;
- }
- for (int i = 0; i < str.length(); i++) {
- if (!Character.isDigit(str.charAt(i))) {
- return false;
- }
- }
- return true;
- }
- public static boolean isDigits(Object obj) {
- if (obj == null) return false;
- String str = obj.toString();
- return isDigits(str);
- }
- public static final String escapeHTMLTags(String in) {
- if (in == null) return null;
- int i = 0;
- int last = 0;
- char input[] = in.toCharArray();
- int len = input.length;
- StringBuffer out = new StringBuffer((int) ((double) len * 1.3D));
- for (; i < len; i++) {
- char ch = input[i];
- if (ch > '>') continue;
- if (ch == '<') {
- if (i > last) out.append(input, last, i - last);
- last = i + 1;
- out.append(LT_ENCODE);
- continue;
- }
- if (ch != '>') continue;
- if (i > last) out.append(input, last, i - last);
- last = i + 1;
- out.append(GT_ENCODE);
- }
- if (last == 0) return in;
- if (i > last) out.append(input, last, i - last);
- return out.toString();
- }
- public static final synchronized String hash(String data) {
- if (digest == null) try {
- digest = MessageDigest.getInstance("MD5");
- } catch (NoSuchAlgorithmException nsae) {
- System.err.println("Failed to load the MD5 MessageDigest. We will be unable to function normally.");
- nsae.printStackTrace();
- }
- digest.update(data.getBytes());
- return encodeHex(digest.digest());
- }
- public static final String encodeHex(byte bytes[]) {
- char[] buf = new char[bytes.length * 2];
- for (int i = 0; i < bytes.length; i++) {
- int code = bytes[i] & 0xff;
- buf[2 * i] = upcaseHexChar[code >> 4];
- buf[2 * i + 1] = upcaseHexChar[code & 0xf];
- }
- return new String(buf);
- }
- public static final String dumpHex(byte bytes[]) {
- int bytepos, bufpos, linecount = (bytes.length + 15) / 16;
- char[] buf = new char[linecount * DUMP_HEX_CHAR_COUNT];
- byte[] bs = new byte[16];
- bytepos = 0;
- for (int i = 0; i < linecount; i++) {
- int addr = i * 16;
- bufpos = i * DUMP_HEX_CHAR_COUNT;
- buf[bufpos++] = upcaseHexChar[(addr >> 12) & 0xf];
- buf[bufpos++] = upcaseHexChar[(addr >> 8) & 0xf];
- buf[bufpos++] = upcaseHexChar[(addr >> 4) & 0xf];
- buf[bufpos++] = upcaseHexChar[(addr) & 0xf];
- buf[bufpos++] = ' ';
- buf[bufpos++] = ' ';
- for (int j = 0; j < 16; j++, bytepos++) {
- if (bytepos < bytes.length) {
- int code = bytes[bytepos] & 0xff;
- bs[j] = bytes[bytepos];
- buf[bufpos++] = upcaseHexChar[code >> 4];
- buf[bufpos++] = upcaseHexChar[code & 0xf];
- if (j == 7) buf[bufpos++] = '-';
- else buf[bufpos++] = ' ';
- } else {
- buf[bufpos++] = ' ';
- buf[bufpos++] = ' ';
- buf[bufpos++] = ' ';
- bs[j] = ' ';
- }
- }
- buf[bufpos++] = ' ';
- buf[bufpos++] = ' ';
- char[] chs = new String(bs).toCharArray();
- for (int k = 0; k < chs.length; k++) {
- char ch = chs[k];
- if ((ch > '\0') && (ch < ' ')) buf[bufpos++] = '.';
- else buf[bufpos++] = ch;
- }
- int endLine = (i + 1) * DUMP_HEX_CHAR_COUNT - 2;
- for (; bufpos < endLine; bufpos++)
- buf[bufpos] = ' ';
- buf[bufpos++] = '\r';
- buf[bufpos++] = '\n';
- }
- return new String(buf);
- }
- public static final byte[] decodeHex(String hex) {
- char chars[] = hex.toCharArray();
- byte bytes[] = new byte[chars.length / 2];
- int byteCount = 0;
- for (int i = 0; i < chars.length; i += 2) {
- byte newByte = 0;
- newByte |= hexCharCodes[chars[i]];
- newByte <<= 4;
- newByte |= hexCharCodes[chars[i + 1]];
- bytes[byteCount] = newByte;
- byteCount++;
- }
- return bytes;
- }
- public static String encodeBase64(String data) {
- return encodeBase64(data.getBytes());
- }
- public static String encodeBase64(byte data[]) {
- int len = data.length;
- StringBuffer ret = new StringBuffer((len / 3 + 1) * 4);
- for (int i = 0; i < len; i++) {
- int c = data[i] >> 2 & 0x3f;
- ret.append(base64Chars[c]);
- c = data[i] << 4 & 0x3f;
- if (++i < len) c |= data[i] >> 4 & 0xf;
- ret.append(base64Chars[c]);
- if (i < len) {
- c = data[i] << 2 & 0x3f;
- if (++i < len) c |= data[i] >> 6 & 3;
- ret.append(base64Chars[c]);
- } else {
- i++;
- ret.append('=');
- }
- if (i < len) {
- c = data[i] & 0x3f;
- ret.append(base64Chars[c]);
- } else {
- ret.append('=');
- }
- }
- return ret.toString();
- }
- public static byte[] decodeBase64(String data) {
- int len = data.length();
- byte[] result = new byte[((len * 3) / 4)];
- int pos = 0;
- for (int i = 0; i < len; i++) {
- int c = base64Codes[data.charAt(i)];
- i++;
- int c1 = base64Codes[data.charAt(i)];
- c = c << 2 | c1 >> 4 & 3;
- result[pos++] = (byte) c;
- if (++i < len) {
- c = data.charAt(i);
- if (61 == c) break;
- c = base64Codes[data.charAt(i)];
- c1 = c1 << 4 & 0xf0 | c >> 2 & 0xf;
- result[pos++] = (byte) c1;
- }
- if (++i >= len) continue;
- c1 = data.charAt(i);
- if (61 == c1) break;
- c1 = base64Codes[data.charAt(i)];
- c = c << 6 & 0xc0 | c1;
- result[pos++] = (byte) c;
- }
- if (result.length != pos) {
- byte[] result2 = new byte[pos];
- System.arraycopy(result, 0, result2, 0, pos);
- result = result2;
- }
- return result;
- }
- public static final String[] toLowerCaseWordArray(String text) {
- if (text == null || text.length() == 0) return new String[0];
- List<String> wordList = new ArrayList<String>();
- BreakIterator boundary = BreakIterator.getWordInstance();
- boundary.setText(text);
- int start = 0;
- for (int end = boundary.next(); end != -1; end = boundary.next()) {
- String tmp = text.substring(start, end).trim();
- tmp = tmp.replace("+", "");
- tmp = tmp.replace("/", "");
- tmp = tmp.replace("\\", "");
- tmp = tmp.replace("#", "");
- tmp = tmp.replace("*", "");
- tmp = tmp.replace(")", "");
- tmp = tmp.replace("(", "");
- tmp = tmp.replace("&", "");
- if (tmp.length() > 0) wordList.add(tmp);
- start = end;
- }
- return (String[]) (String[]) wordList.toArray(new String[wordList.size()]);
- }
- public static final String createTempTable() {
- return "temp_" + StringUtil.randomString(10);
- }
- /**
- * 产生指定长度的字符串
- *
- * @param length
- * @return
- */
- public static final String randomString(int length) {
- if (length < 1) {
- return null;
- }
- char randBuffer[] = new char[length];
- for (int i = 0; i < randBuffer.length; i++)
- randBuffer[i] = numbersAndLetters[randGen.nextInt(numbersAndLetters.length)];
- return new String(randBuffer);
- }
- public static final String randomNumber(int length) {
- Long value = Math.abs(randGen.nextLong());
- String strValue = value.toString();
- if (strValue.length() > length) {
- strValue = strValue.substring(0, length);
- }
- return strValue;
- }
- public static final String chopAtWord(String string, int length) {
- if (string == null) return string;
- char charArray[] = string.toCharArray();
- int sLength = string.length();
- if (length < sLength) sLength = length;
- for (int i = 0; i < sLength - 1; i++) {
- if (charArray[i] == '\r' && charArray[i + 1] == '\n') return string.substring(0, i + 1);
- if (charArray[i] == '\n') return string.substring(0, i);
- }
- if (charArray[sLength - 1] == '\n') return string.substring(0, sLength - 1);
- if (string.length() < length) return string;
- for (int i = length - 1; i > 0; i--)
- if (charArray[i] == ' ') return string.substring(0, i).trim();
- return string.substring(0, length);
- }
- public static final String escapeForXML(String string) {
- if (string == null) return null;
- int i = 0;
- int last = 0;
- char input[] = string.toCharArray();
- int len = input.length;
- StringBuffer out = new StringBuffer((int) ((double) len * 1.3D));
- for (; i < len; i++) {
- char ch = input[i];
- if (ch > '>') continue;
- if (ch == '<') {
- if (i > last) out.append(input, last, i - last);
- last = i + 1;
- out.append(LT_ENCODE);
- continue;
- }
- if (ch == '&') {
- if (i > last) out.append(input, last, i - last);
- last = i + 1;
- out.append(AMP_ENCODE);
- continue;
- }
- if (ch != '"') continue;
- if (i > last) out.append(input, last, i - last);
- last = i + 1;
- out.append(QUOTE_ENCODE);
- }
- if (last == 0) return string;
- if (i > last) out.append(input, last, i - last);
- return out.toString();
- }
- public static final String unescapeFromXML(String string) {
- string = string.replace("<", "<");
- string = string.replace(">", ">");
- string = string.replace(""", "\"");
- return string.replace("&", "&");
- }
- public static final String zeroPadString(String string, int length) {
- if (string == null || string.length() > length) {
- return string;
- } else {
- StringBuffer buf = new StringBuffer(length);
- buf.append(zeroArray, 0, length - string.length()).append(string);
- return buf.toString();
- }
- }
- public static final String zeroAppendString(String string, int length) {
- if (string == null || string.length() > length) {
- return string;
- } else {
- StringBuffer buf = new StringBuffer(length);
- buf.append(string).append(zeroArray, 0, length - string.length());
- return buf.toString();
- }
- }
- public static final String charPadString(String string, int length, char append) {
- if (string == null || string.length() > length) {
- return string;
- } else {
- char[] charArray = new char[length - string.length()];
- for (int i = 0; i < charArray.length; i++) {
- charArray[i] = append;
- }
- StringBuffer buf = new StringBuffer(length);
- buf.append(charArray, 0, charArray.length).append(string);
- return buf.toString();
- }
- }
- public static final String charAppendString(String string, int length, char append) {
- if (string == null || string.length() > length) {
- return string;
- } else {
- char[] charArray = new char[length - string.length()];
- for (int i = 0; i < charArray.length; i++) {
- charArray[i] = append;
- }
- StringBuffer buf = new StringBuffer(length);
- buf.append(string).append(charArray, 0, charArray.length);
- return buf.toString();
- }
- }
- public static final String dateToMillis(Date date) {
- return zeroPadString(Long.toString(date.getTime()), 15);
- }
- public static final String collectionToString(Collection<Object> c, String split) {
- StringBuilder ret = new StringBuilder();
- List<Object> a;
- if (c == null) return null;
- if (split == null) return null;
- a = new ArrayList<Object>(c);
- try {
- for (int i = 0; i < a.size(); i++) {
- String t = (String) a.get(i);
- if (i == a.size() - 1) {
- ret.append(t);
- } else {
- ret.append(t).append(split);
- }
- }
- return ret.toString();
- } catch (Exception e) {
- e.printStackTrace();
- }
- return null;
- }
- public static String encodeUrlString(String str) {
- String strret = null;
- if (str == null) return str;
- try {
- strret = URLEncoder.encode(str, "GBK");
- } catch (Exception e) {
- e.printStackTrace(System.err);
- return null;
- }
- return strret;
- }
- public static String decodeUrlString(String str) {
- String strret = null;
- if (str == null) return str;
- try {
- strret = URLDecoder.decode(str, "GBK");
- } catch (Exception e) {
- e.printStackTrace(System.err);
- return null;
- }
- return strret;
- }
- public static String join(Object list[], String separator) {
- int listSize = list.length;
- int bufSize = listSize == 0 ? 0 : (list[0].toString().length() + separator.length()) * listSize;
- StringBuffer buf = new StringBuffer(bufSize);
- for (int i = 0; i < listSize; i++) {
- if (i > 0) buf.append(separator);
- buf.append(list[i]);
- }
- return buf.toString();
- }
- public static String join(Iterator<?> iterator, String separator) {
- StringBuffer buf = new StringBuffer();
- do {
- if (!iterator.hasNext()) break;
- buf.append(iterator.next());
- if (iterator.hasNext()) buf.append(separator);
- } while (true);
- return buf.toString();
- }
- public static boolean isEmpty(String param) {
- return param == null || "".equals(param) || "".equals(param.trim()) || "null".equals(param) || "\"null\"".equals(param) || "undefined".equals(param) || "[]".equals(param);
- }
- public static boolean isNotEmpty(String param) {
- return !isEmpty(param);
- }
- public static int getDecimalplace(String factor) {
- int pointPos = factor.indexOf(".");
- int onePos = factor.indexOf("1");
- int precision = onePos - pointPos;
- return precision > 0 ? precision : 0;
- }
- /**
- * 对字符串做定长处理,超过长度,截取,长度不够补在前方补齐
- *
- * @param str
- * @param len
- * @param appendStr 补齐的字符,
- * @return
- */
- public static String AddjustLength(String str, int len, String appendStr) {
- if (str == null) {
- return null;
- }
- if (str.length() == len) {
- return str;
- } else if (str.length() < len) {
- StringBuffer buf = new StringBuffer(len);
- for (int i = 0; i < len - str.length(); i++) {
- buf.append(appendStr);
- }
- buf.append(str);
- if (buf.length() > len) {
- return buf.substring(buf.length() - len);
- } else {
- return buf.toString();
- }
- } else {
- return str.substring(str.length() - len, str.length());
- }
- }
- /**
- * 比较separator分隔的2个字符串是否相等
- *
- * @param str1
- * @param str2
- * @param separator 字符串分隔符
- * @return
- */
- public static boolean isEquals(String str1, String str2, String separator) {
- if (StringUtils.isEmpty(str1) && StringUtils.isEmpty(str2)) {
- return false;
- }
- String[] str1Array = StringUtils.split(str1, separator);
- String[] str2Array = StringUtils.split(str2, separator);
- if (str1Array.length != str2Array.length) {
- return false;
- }
- List<String> refList = new ArrayList<String>();
- for (String refStr : str1Array) {
- refList.add(refStr);
- }
- for (String desStr : str2Array) {
- if (!refList.contains(desStr)) {
- return false;
- }
- }
- return true;
- }
- /**
- * 转换字符串分隔的字符串为Integer数组
- *
- * @param values
- * @param spare
- * @return
- */
- public static List<Integer> parseIntList(String values, String spare) {
- List<Integer> list = new ArrayList<Integer>();
- String[] valueArray = StringUtils.split(values, spare);
- if (valueArray != null) {
- for (String value : valueArray) {
- if (NumberUtils.isDigits(value)) {
- list.add(NumberUtils.toInt(value));
- }
- }
- }
- return list;
- }
- public static double parseDouble(String src) {
- if (!isEmpty(src)) {
- return Double.parseDouble(src);
- }
- return 0;
- }
- public static int parseInt(String src) {
- if (!isEmpty(src)) {
- return Integer.parseInt(src);
- }
- return 0;
- }
- public static long parseLong(String src) {
- if (!isEmpty(src)) {
- return Long.parseLong(src);
- }
- return 0;
- }
- public static String format(String number, int decimalDigits) {
- if (!StringUtil.isEmpty(number) && NumberUtils.isDigits(number)) {
- return StringUtil.format(Double.parseDouble(number), decimalDigits);
- } else {
- return number;
- }
- }
- public static String trim(String src) {
- return src == null ? "" : src.trim();
- }
- /**
- * 数字格式化函数
- *
- * @param number : 格式化前的数字;
- * @param decimalDigits : 小数位数;
- * @return: 字符串;
- */
- public static String format(double number, int decimalDigits) {
- if (number == 0d) {
- number = 0d;
- }
- boolean flag = false;
- if (decimalDigits < 0) {
- // 小数位数不能小于0.
- return "";
- }
- String pattern = "##################";
- if (decimalDigits > 0) {
- flag = true;
- pattern += ".";
- for (int i = 0; i < decimalDigits; i++) {
- pattern += "0";
- }
- }
- DecimalFormat df = new DecimalFormat(pattern);
- if (number <= -1d) {
- return df.format(number);
- } else if (number > -1d && number < 0d) {
- return "-0" + df.format(number).substring(1);
- } else if (number >= 0d && number < 1d) {
- if (flag) {
- String temp = df.format(number);
- if (StringUtil.isNotEmpty(temp) && temp.substring(0, 1).equals(".")) {
- return "0" + df.format(number);
- } else {
- return temp;
- }
- } else {
- return df.format(number);
- }
- } else {
- return df.format(number);
- }
- }
- public static Integer toInteger(Object object) {
- if (object == null) {
- return 0;
- }
- return Integer.valueOf(object.toString());
- }
- public static Short toShort(Object object) {
- if (object == null) {
- return null;
- }
- return Short.valueOf(object.toString());
- }
- public static String objectToString(Object obj) {
- if (obj == null) {
- return null;
- } else {
- return obj.toString();
- }
- }
- /**
- * 字串逆排
- *
- * @return
- */
- public static String revert(String src) {
- if (isEmpty(src)) return "";
- StringBuffer result = new StringBuffer();
- for (int i = src.length() - 1; i >= 0; i--) {
- result.append(src.charAt(i));
- }
- return result.toString();
- }
- public static boolean isValidateString(String path) {
- if (StringUtil.isEmpty(path)) {
- return false;
- } else {
- return true;
- }
- }
- public static String encodingUtf8(String src) throws UnsupportedEncodingException {
- if (isEmpty(src)) return "";
- return new String(src.getBytes("ISO-8859-1"), "UTF-8");
- }
- public static String encodingJson(String src) throws UnsupportedEncodingException {
- if (isEmpty(src)) return "";
- int pos = src.indexOf("\\u");
- StringBuffer sb = new StringBuffer();
- while (pos >= 0 && (pos + 6 <= src.length())) {
- sb.append(src.substring(0, pos));
- String temp = src.substring(pos + 2, pos + 6);
- sb.append((char) Integer.parseInt(temp, 16));// 将\u6d4b\u8bd5
- // 格式的文字转为
- // 正常的string编码
- // “测试”(因为Ext.encode(array)的方法解析出来是jsonarray格式)
- src = src.substring(pos + 6);
- pos = src.indexOf("\\u");
- }
- sb.append(src);
- return sb.toString();
- }
- /**
- * 正则
- */
- public static String replaceBlank(String str) {
- String dest = "";
- if (str != null) {
- Pattern p = Pattern.compile("\\s*|\t|\r|\n");
- Matcher m = p.matcher(str);
- dest = m.replaceAll("");
- }
- return dest;
- }
- /**
- * 不定参数校验空
- *
- * @param args
- * @return
- */
- public static boolean isNull(String... args) {
- for (String arg : args) {
- if (StringUtils.isEmpty(arg)) {
- return true;
- }
- }
- return false;
- }
- /**
- * 不定参数校验数字
- *
- * @param args
- * @return
- */
- public static boolean isNotNumber(String... args) {
- for (String arg : args) {
- if (!NumberUtils.isDigits(arg)) {
- return true;
- }
- }
- return false;
- }
- /**
- * 不定参数校验数字
- *
- * @param args
- * @return
- */
- public static boolean isNotDigits(String... args) {
- for (String arg : args) {
- if (!NumberUtils.isDigits(arg)) {
- return true;
- }
- }
- return false;
- }
- /**
- * toString增加判空
- */
- public static String toString(Object obj) {
- if(obj == null) {
- return "";
- }
- return obj.toString();
- }
- /**
- * @param value:十进制字字符
- * @param radix:目标进制
- * @param length:目标长度
- * @param pad:前补的字符
- * @return
- */
- public static String numStr2PadString(String value, int radix, int length, String pad) {
- if (value == null) return charPad("", length, pad);
- // Integer temp = NumberUtils.toInt(value);
- String result = Integer.toString(NumberUtils.toInt(value), radix);
- return AddjustLength(result, length, pad);
- }
- public static String charPad(String value, int length, String pad) {
- if (value == null || value.length() > length) return value;
- String padString = "";
- for (int i = 0; i < (length - value.length()); i++) {
- padString += pad;
- }
- return padString + value;
- }
- public static void main(String[] args) {
- System.out.println("operator_secret: " + randomString(17));
- System.out.println("data_secret: " + randomString(16));
- System.out.println("data_secret_iv: " + randomString(16));
- System.out.println("sign_secret: " + randomString(19));
- }
- }
|