在C语言中,我们可以通过宏FILE
、 __LINE__
来获取文件名和行号,而在Java语言中,则可以通过StackTraceElement
类来获取文件名、类名、方法名、行号。
public static int getLineNumber( ){ StackTraceElement[] stackTrace = new Throwable().getStackTrace(); return stackTrace[1].getLineNumber( );} public static String getMethodName( ){ StackTraceElement[] stackTrace = new Throwable().getStackTrace(); return stackTrace[1].getMethodName( );} public static String getFileName( ){ StackTraceElement[] stackTrace = new Throwable().getStackTrace(); return stackTrace[1].getFileName( );} public static String getClassName( ){ StackTraceElement[] stackTrace = new Throwable().getStackTrace(); return stackTrace[1].getClassName();}