java获取文件中的行号_如何取的Java源代码文件中文件名和行号
如何取的Java源代码文件中文件名和行号:)
在C/C++的程序,编译器提供了两个宏来支持取得源文件中的行号和文件名,这两个宏是__FILE__,__LINE__
你可以如下的方法打印行号和文件名
查看源代码
打印帮助
1 #include
2 int main()
3 {
4 fprintf(stdout,"[%s:%d] Hello World!",__FILE__,__LINE__);
5 return 0;
6 }
但是在JAVA下没有这两个宏,那么我们如何来取得文件名和行号,翻阅JDK,我们找到StackTraceElement这个类。这个类可以从Throwable取得,另外也可以从Thread类取得,通过这些我写如下的一个打印行号的测试程序:
查看源代码
打印帮助
01 public class LineNo {
02 public static int getLineNumber() {
03 return Thread.currentThread().getStackTrace()[2].getLineNumber();
04 }
05
06 public static String getFileName() {
07 return Thread.currentThread().getStackTrace()[2].getFileName();
08 }
09 public static void main(String args[]) {
10 System.out.println("["+getFileName()+":"+ getLineNumber()+"]"+"Hello World!");
11 }
12 }
留下一个问题,上面程序中的magic数字 2 代表什么含义呢?
0是thread.getCurrentThread() 1是getLineNumber() 2才是调用getLineNumber的类
java获取文件中的行号_如何取的Java源代码文件中文件名和行号相关推荐
- Java 获取当前时间之后的第一个周几,java获取当前日期的下一个周几
Java 获取当前时间之后的第一个周几,java获取当前日期的下一个周几 //获得入参的日期 Calendar cd = Calendar.getInstance(); cd.setTime(date ...
- python关于文件的编程题_《Python编程》源代码文件
压缩包 : bbc59749e0028c3f1ab3a1c9a762a6d.rar 列表 <Python编程>源代码文件/.gitignore <Python编程>源代码文件/ ...
- python返回文件行号_用python比较两个文件中内容的不同之处, 并输出行号和内容....
'''cmpfile.py - 比对两个文件, 如果有不同之处, 打印内容和行号''' import os class cmpFile: def __init__(self, file1, file2 ...
- python统计行号_用Python实现两个文件的不同行的编号
title: 文件不同行 tags: python,IO,dict 比较两个文件在哪些行内容不同,返回这些行的编号,行号编号从1开始. 定义统计文件行数的函数 # 统计文件个数def statLine ...
- java中错误的源文件_如果我的Java源文件中存在语法错误,为什么Eclipse会生成.class文件?...
当我使用 Eclipse IDE创建项目时,即使我的代码中存在语法错误,它也会生成一个类文件? class Test { public void test(String value) { System ...
- java中git使用教程_【教程】Git在Eclipse中的安装和基本使用
一.安装 点击 Help->Install New Software->add 安装地址为:http://download.eclipse.org/egit/updates/ 选择插件 点 ...
- java中二进制怎么说_面试:说说Java中的 volatile 关键词?
volatile 这个关键字可能很多朋友都听说过,或许也都用过.在 Java 5 之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果.在 Java 5之后,volatile 关 ...
- python读json文件中不同的数据类型_怎么使用python提取json文件中的字段
python中为什么用json有什么作用 python的json模块中如何将变量添加到里面 python的json模块第一个是要打开的文件,第二个是打开的操作,为什么会如果你早认清你在别人心中没那么重 ...
- Java中的变量分类_开发简单的Java应用
第一章 开发简单的Java应用 1.Java语言的技术分类 (1)JavaSE:标准版,开发桌面应用 (2)JavaEE:企业版,Web应用 (3)JavaME:小型版,嵌入式 2.如何开发和运行Ja ...
最新文章
- 用函数制作简单的选项卡
- 实战:基于深度学习的道路损坏检测
- 艾伟:详解AJAX核心 —— XMLHttpRequest 对象 (下)
- vue if判断_vue循环判断
- HTML5 创建热点图
- 宝塔修改Nginx服务器类型,宝塔面板nginx更改日志格式的方法
- oracle dba create view 失败 解决办法
- Sizzle.selectors.relative [ 源代码分析 ]
- Android Camera setRecordingHint函数 在部分手机上的问题。
- lua游戏脚本自动打怪_了解Lua(官方文档翻译)
- Latex:使用时遇到的一些问题解决
- Unity资源加载简析(二)AssetsBundle
- 2022搜狐校园 情感分析 × 推荐排序 算法大赛
- 暑假如何高效保护视力?保护视力的智能台灯
- 转:“有活吗?我们什么都干!”稻盛和夫这样带企业穿越萧条
- [转]李商隐《嫦娥》赏析
- Flutter中的Isolate的个人理解
- 插入排序(直接插入排序,折半插入排序,希尔排序)
- ATF官方文档翻译(二):Authentication Framework Chain of Trust(身份验证框架和信任链)(1)
- 杂-格签名中常见数字的意义
热门文章
- 95-190-032-源码-window-CountWindow
- 【Java】java中this$0 this$1 this$2
- 【安全】安装phpLDAPadmin管理LDAP
- 08-R包那么多,怎么才能快速找到自己需要的包呢?
- java instant获取微秒转成日期格式_Java8新特性时间日期库DateTime API及示例
- 请不要“妖魔化”外包岗位!
- 经过两个月的面试,我给你整理了这些面试考点(Java版)
- JDK15已发布,快来看看有哪些值得期待的新功能!
- 节前福利:Java程序员面试宝典升级版
- leetcode题解53-最大子序和