`
abalone
  • 浏览: 126729 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

AccUtil

    博客分类:
  • java
阅读更多
package jp.co.ntt.ansl.picax.acc.common.util;

import java.io.ByteArrayOutputStream;
import java.io.OutputStreamWriter;
import java.text.DateFormatSymbols;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
* all the common utilities of Accommondation should put here
*
*/
public class AccUtil {
    /**
     * classnameを取得する。
     *
     * @param className
     * @return className
     */
    public static String formatClassName(String className) {
        if (null != className && className.length() > 0) {
            int point = className.lastIndexOf(".");
            if (point != -1) {
                return className.substring(point + 1);
            }
        }
        return className;
    }

    /**
     * classnameを取得する。
     *
     * @param clazz the class object
     * @return className
     */
    public static String formatClassName(Class clazz) {
        if (clazz == null) return "";

        return formatClassName(clazz.getName());
    }

    /**
     * get current time string in million second
     *
     * @return the million second string
     */
    public static String getCurrentTime() {
        long time = System.currentTimeMillis();
        return String.valueOf(time);
    }

    /**
     * get current time string
     *
     * @return current time string in "yyyy-MM-dd' 'HH:mm:ss" mode
     */
    public static synchronized String getCurrentTimeStr() {
        return getCurrentTimeStr("yyyy-MM-dd' 'HH:mm:ss");
    }

    /**
     * get current time string
     * yyyy    means year
     * MM      means month
     * dd      means date
     * HH      means hour
     * mm      means minute
     * ss      means second
     * SS      means million second
     * 'E' - DAY_OF_WEEK
     * 'G' - ERA
     * 'k' - HOUR_OF_DAY: 1-based.  eg, 23:59 + 1 hour =>> 24:59
     * 'a' - AM_PM
     * 'F' - DAY_OF_WEEK_IN_MONTH
     * 'w' - WEEK_OF_YEAR
     * 'W' - WEEK_OF_MONTH
     * 'K' - HOUR: 0-based.  eg, 11PM + 1 hour =>> 0 AM
     *
     * @return current time string in style mode
     */
    public static synchronized String getCurrentTimeStr(String style) {
        SimpleDateFormat sdf = new SimpleDateFormat(style, new DateFormatSymbols());
        return sdf.format(new Date());
    }

    /**
     * get the satck trace string from the throwable exceptions
     *
     * @param t the throwable exception
     * @return the stack trace string
     */
    public static String getStackTraceStr(Throwable t) {
        java.io.CharArrayWriter cw = new java.io.CharArrayWriter();
        java.io.PrintWriter pw = new java.io.PrintWriter(cw, true);
        if (t != null) {
            t.printStackTrace(pw);
        }
        return cw.toString();
    }

    public static byte[] getBytesWithEncoding(String str, String enc) {
        if (str == null) return null;
        byte[] result = null;
        ByteArrayOutputStream baos = null;
        try {
            baos = new ByteArrayOutputStream();
            OutputStreamWriter osw = (enc != null) ? new OutputStreamWriter(baos, enc) : new OutputStreamWriter(baos);
            osw.write(str);
            osw.flush();
            osw.close();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                if (baos != null) {
                    result = baos.toByteArray();
                    baos.close();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        return result;
    }

    public static void main(String[] args) {
        System.out.println(getCurrentTimeStr("yyyyMMddHHmmss"));
        byte[] ba = getBytesWithEncoding("mnあいうえおn", "ms932");//"shift_jis" "ISO8859_1" "GBK" "utf-8" "ms932"
        for (int i = 0; i < ba.length; i++) {
            System.out.println(ba[i]);
        }
        System.out.println(new String(ba));
    }
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics