在C/C++的程序,编译器提供了两个宏来支持取得源文件中的行号和文件名,这两个宏是__FILE__,__LINE__
在Java中,可以使用下列代码:
Thread.currentThread().getStackTrace()[2].getLineNumber();
Thread.currentThread().getStackTrace()[2].getFileName();
写成代码:
public class LineNo {
public static int getLineNumber() {
return Thread.currentThread().getStackTrace()[2].getLineNumber();
}
public static String getFileName() {
return Thread.currentThread().getStackTrace()[2].getFileName();
}
}