本文实例讲述了Java编程实现获取当前代码行行号的方法。分享给大家供大家参考,具体如下:

最近的项目中,为了实现自定义的log类,能够输出具体的代码行行号,我通过使用StackTraceElement对象实现了。
具体内容请参考下面的Demo代码。这里指出需要注意的几个问题:
1. 程序中返回的代码行行号,是新建StackTrackElement对象的那一行。
2. 可以通过传参的方法实现输出特定行行号。
具体实现代码:
/**
*
*/
package leo.demo.training;
/**
* Get current java file name and current code line number
* @author Leo Xie
*/
public class CurrentLine {
/**
* @param args
*/
public static void main(String[] args) {
StackTraceElement ste1 = null;
// get current thread and its related stack trace
StackTraceElement[] steArray = Thread.currentThread().getStackTrace();
int steArrayLength = steArray.length;
String s = null;
// output all related info of the existing stack traces
if(steArrayLength==0) {
System.err.println("No Stack Trace.");
} else {
for (int i=0; i<steArrayLength; i++) {
System.out.println("Stack Trace-" + i);
ste1 = steArray[i];
s = ste1.getFileName() + ": Line " + ste1.getLineNumber();
System.out.println(s);
}
}
// the following code segment will output the line number of the "new " clause
// that's to say the line number of "StackTraceElement ste2 = new Throwable().getStackTrace()[0];"
StackTraceElement ste2 = new Throwable().getStackTrace()[0];
System.out.println(ste2.getFileName() + ": Line " + ste2.getLineNumber());
// the following clause will output the line number in the external method "getLineInfo()"
System.out.println(getLineInfo());
// the following clause will output its current line number
System.out.println(getLineInfo(new Throwable().getStackTrace()[0]));
}
/**
* return current java file name and code line number
* @return String
*/
public static String getLineInfo() {
StackTraceElement ste3 = new Throwable().getStackTrace()[0];
return (ste3.getFileName() + ": Line " + ste3.getLineNumber());
}
/**
* return current java file name and code line name
* @return String
*/
public static String getLineInfo(StackTraceElement ste4) {
return (ste4.getFileName() + ": Line " + (ste4.getLineNumber()));
}
}
更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数学运算技巧总结》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
# Java
# 获取
# 当前代码行
# 行号
# 利用Java获取文件名、类名、方法名和行号的方法小结
# 基于JAVA代码 获取手机基本信息(本机号码
# SDK版本
# 系统版本
# 手机型号)
# java正则表达式的应用 java读取文件并获取电话号码
# java 用递归获取一个目录下的所有文件路径的小例子
# java获取系统路径字体、得到某个目录下的所有文件名、获取当前路径
# java获取properties属性文件示例
# Java中获取文件大小的详解及实例代码
# java字符串切割实例学习(获取文件名)
# Java获取文件的类型和扩展名的实现方法
# 详解Java如何获取文件编码格式
# java 获取已知文件扩展名的代码
# 操作技巧
# 相关内容
# 感兴趣
# 数据结构
# 可以通过
# 给大家
# 自定义
# 更多关于
# 所述
# 需要注意
# 程序设计
# 具体内容
# 请参考
# 实现了
# 讲述了
# demo
# leo
# current
# training
# brush
相关文章:
,sp开头的版面叫什么?
三星网站视频制作教程下载,三星w23网页如何全屏?
手机网站制作与建设方案,手机网站如何建设?
零服务器AI建站解决方案:快速部署与云端平台低成本实践
b2c电商网站制作流程,b2c水平综合的电商平台?
如何高效完成自助建站业务培训?
青浦网站制作公司有哪些,苹果官网发货地是哪里?
h5在线制作网站电脑版下载,h5网页制作软件?
免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?
如何快速配置高效服务器建站软件?
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
建站之星图片链接生成指南:自助建站与智能设计教程
定制建站哪家更专业可靠?推荐榜单揭晓
如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法
如何在万网自助建站中设置域名及备案?
制作网站的软件下载免费,今日头条开宝箱老是需要下载怎么回事?
音响网站制作视频教程,隆霸音响官方网站?
济南专业网站制作公司,济南信息工程学校怎么样?
建站之星代理商如何保障技术支持与售后服务?
css网站制作参考文献有哪些,易聊怎么注册?
建站之星代理平台如何选择最佳方案?
网站制作模板下载什么软件,ppt模板免费下载网站?
网页设计与网站制作内容,怎样注册网站?
,有什么在线背英语单词效率比较高的网站?
如何用已有域名快速搭建网站?
深圳 网站制作,深圳招聘网站哪个比较好一点啊?
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法
济南网站制作的价格,历城一职专官方网站?
建站之星如何配置系统实现高效建站?
香港服务器网站推广:SEO优化与外贸独立站搭建策略
如何用PHP快速搭建高效网站?分步指南
C#怎么使用委托和事件 C# delegate与event编程方法
建站上市公司网站建设方案与SEO优化服务定制指南
杭州银行网站设计制作流程,杭州银行怎么开通认证方式?
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
小建面朝正北,A点实际方位是否存在偏差?
阿里云网站制作公司,阿里云快速搭建网站好用吗?
网站制作软件有哪些,制图软件有哪些?
如何在Golang中使用replace替换模块_指定本地或远程路径
如何获取PHP WAP自助建站系统源码?
长沙做网站要多少钱,长沙国安网络怎么样?
建站之星展会模板:智能建站与自助搭建高效解决方案
网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?
广州网站设计制作一条龙,广州巨网网络科技有限公司是干什么的?
网站图片在线制作软件,怎么在图片上做链接?
利用JavaScript实现拖拽改变元素大小
香港服务器WordPress建站指南:SEO优化与高效部署策略
如何规划企业建站流程的关键步骤?
临沂网站制作企业,临沂第三中学官方网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。