如何在Java中获取当前代码行行号
为了实现自定义的log类,能够输出具体的代码行行号,通过使用StackTraceElement对象实现了。
这里指出需要注意的几个问题:
1. 程序中返回的代码行行号,是新建StackTrackElement对象的那一行。
2. 可以通过传参的方法实现输出特定行行号。具体实现见代码。
1/**
2 *
3 */
4package leo.demo.training;
5
6/**
7 * Get current java file name and current code line number
8 * @author Leo Xie
9 */
10public class CurrentLine {
11 /** *//** http://www.mscto.com
12 * @param args
13 */
14 public static void main(String[] args) {
15 StackTraceElement ste1 = null;
16
17 // get current thread and its related stack trace
18 StackTraceElement[] steArray = Thread.currentThread().getStackTrace();
19 int steArrayLength = steArray.length;
20
21 String s = null;
22
23 // output all related info of the existing stack traces
24 if(steArrayLength==0) {
软件开发网
25 System.err.println("No Stack Trace.");
26 } else {
27 for (int i=0; i<steArrayLength; i++) {
28 System.out.println("Stack Trace-" + i);
29 ste1 = steArray[i];
30 &nbs
相关文档:
通过 Groovy 进行循环
同大多数脚本语言一样,Groovy 经常被宣传为生产力更高 的 Java 语言替代品。您已经看到了 Groovy 缺少类型能够如何减少打字工作。在这一节,将创建并试用一个 repeat 函数。在这个过程中,将进一步探索 Groovy 提高效率的方式。
更好、更短的循环
下面这种方法可以更好地感受 Groovy 缺乏类型的好 ......
Java数组是一个Java对象,数组的长度是固定的,在同一个数组中只能够存放相同类型的数据,数组可以存放基本类型的数据,也可以存放引用类型的数据。在创建数组对象时,必须指定数组对象的长度,数组一旦创建,它的长度就不能再变
(1)创建数组对象(即new一个数组时)要指定数组的长度,数组的长度一旦指定 ......
Heritrix网络爬虫对BDB嵌入式数据库的应用(JAVA)
一、Heritrix中和BDB相关的类
org.archive.bdb.BdbModule 用来映射一个共享的BDB数据库环境(JE)的通用模型。
org.archive.bdb.BdbModule.BdbConfig 数据库配置对象。必需的,因为com.sleepycat.je.DatabaseConfig这个对象是不会被序列化的。此外它还可以防止无效设置 ......
jsp中实现文件下载的最简单的方式是在网页上做超级链接,如:<a href="music/abc.mp3">点击下载</a>。但是这样服务器上的目录资源会直接暴露给最终用户,会给网站带来一些不 安全的因素。因此可以采用其它方式实现下载,可以采用:1、RequestDispatcher的方式进行;2、采用文件流输出的方式下载。
1、采用Re ......
组的概念, 提取组信息
/**
* 正则表达式可以划分不同的组,取出组的名称,括号即可, 即所谓的捕获组
* 1. 相关知识: 不捕获用(?:expression) 表示这组不需要捕获
*
*
*/
public static void groupTest() {
String src = "xxxxxxxxxx2009-1-17-19-07-16yyyyy2001-02-18-19-07-16q";
String regex ......