Ads 468x60px

##EasyReadMore##

23 3月, 2016

java 實現 __FILE__, __LINE__


第一個方法
System.out.println((new Throwable()).getStackTrace()[0].toString());

結果:
com.ecs.ces.ruleengine.TestSocket.parserpackage(TestSocket.java:72)

//TestSocket.java 為 function
//72 為行號


第二個方法


    public static void main(String args[])
    {
        System.out.println("This is " + getLineInfo());
    }

    public static String getLineInfo()
    {
        StackTraceElement ste = new Throwable().getStackTrace()[1];
        return ste.getFileName() + ": Line " + ste.getLineNumber();
    }
參考:
__FUNCTION__ in java? (Beginning Java forum at Coderanch) - http://goo.gl/TXalWk
__FILE__, __LINE__ macro equivalent in java?? | Oracle Community - https://goo.gl/uOpLpf


0 意見:

張貼留言

 
Blogger Templates