利用Java获取文件名、类名、方法名和行号的方法小结

大家都知道,在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();
}

以上就是利用Java获取文件名、类名、方法名和行号的全部内容,希望本文的内容对大家学习Java能有所帮助。

(0)

相关推荐

  • 一个Java配置文件加密解密工具类分享

    常见的如: 数据库用户密码,短信平台用户密码,系统间校验的固定密码等.本工具类参考了 <Spring.3.x企业应用开发实战>一书 5.3节的实现.完整代码与注释信息如下: 复制代码 代码如下: package com.cncounter.util.comm; import java.security.Key;import java.security.SecureRandom; import javax.crypto.Cipher;import javax.crypto.KeyGenerato

  • java文件操作工具类

    最近为了修改大量收藏的美剧文件名,用swing写了个小工具,代码是文件处理部分,具体内容如下 package datei.steuern; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileWriter

  • 详解Java中的File文件类以及FileDescriptor文件描述类

    File File 是"文件"和"目录路径名"的抽象表示形式. File 直接继承于Object,实现了Serializable接口和Comparable接口.实现Serializable接口,意味着File对象支持序列化操作.而实现Comparable接口,意味着File对象之间可以比较大小:File能直接被存储在有序集合(如TreeSet.TreeMap中). 1. 新建目录的常用方法 方法1:根据相对路径新建目录. 示例代码如下(在当前路径下新建目录"

  • java文件操作工具类分享(file文件工具类)

    复制代码 代码如下: import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.Fil

  • java文件操作工具类实现复制文件和文件合并

    两个方法:1.复制一个目录下面的所有文件和文件夹2.将一个文件目录下面的所有文本文件合并到同一个文件中 复制代码 代码如下: package com.firewolf.test; import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException; public class FileReaderUtil { public static void

  • Java实现的读取资源文件工具类ResourcesUtil实例【可动态更改值的内容】

    本文实例讲述了Java实现的读取资源文件工具类ResourcesUtil.分享给大家供大家参考,具体如下: package com.gcloud.common; import java.io.Serializable; import java.text.MessageFormat; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Locale; impor

  • java工具类之实现java获取文件行数

    工具类代码,取得当前项目中所有java文件总行数,代码行数,注释行数,空白行数 复制代码 代码如下: import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;import java.io.Reader;import

  • java按指定编码写入和读取文件内容的类分享

    可以指定编码如:utf-8来写入和读取文件.如果文件编码未知,可以通过该方法先得到文件的编码后再指定正确的编码来读取,否则会出现文件乱码问题. 如何识别文件编码请参考:java自动根据文件内容的编码来读取避免乱码 复制代码 代码如下: package com.zuidaima.util; import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputS

  • Java文件操作工具类fileUtil实例【文件增删改,复制等】

    本文实例讲述了Java文件操作工具类fileUtil.分享给大家供大家参考,具体如下: package com.gcloud.common; import java.io.*; import java.net.MalformedURLException; import java.net.URL; /** * 文件工具类 * Created by charlin on 2017/9/8. */ public class FileUtil { /** * 读取文件内容 * * @param is *

  • 利用Java获取文件名、类名、方法名和行号的方法小结

    大家都知道,在C语言中,我们可以通过宏FILE. __LINE__来获取文件名和行号,而在Java语言中,则可以通过StackTraceElement类来获取文件名.类名.方法名.行号,具体代码如下: public static int getLineNumber( ){ StackTraceElement[] stackTrace = new Throwable().getStackTrace(); return stackTrace[1].getLineNumber( ); } public

  • 如何通过java获取文件名和扩展名

    这篇文章主要介绍了如何通过java获取文件名和扩展名,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 如:文件filePath = "E:\\test\\test.dxf" 1.获取文件名 eg:获取 test.dxf 通过file对象 import java.io.File; public class test { public static void main(String[] args) { String filePath = &

  • Java 获取当前类名和方法名的实现方法

     Java 获取当前类名和方法名的实现方法 这里提供了四种方法并比较,大家需要的可以参考下,          为了测试各个函数,如果手动打印每个类名.函数名,那么多函数的话能把人累死,Java早已准备好了一堆记录自身的函数. 获取类名: public static void testGetClassName() { // 方法1:通过SecurityManager的保护方法getClassContext() String clazzName = new SecurityManager() {

  • 利用JAVA反射,读取数据库表名,自动生成对应实体类的操作

    本代码是利用java反射,读取数据库表自动根据表名生成实体类,数据库采用老牌SQLSERVER 2000,驱动为JTDS,其他数据库可根据情况自定修改. 代码中包含了大部分数据库类型与JAVA类型的转换,少数未包含进去的会在生成代码时打印出来,方面后期查找修改. import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import java.sq

  • Java获取此次请求URL以及服务器根路径的方法

    本文介绍了Java获取此次请求URL以及获取服务器根路径的方法,并且进行举例说明,感兴趣的朋友可以学习借鉴下文的内容. 一. 获取此次请求的URL String requestUrl = request.getScheme() //当前链接使用的协议 +"://" + request.getServerName()//服务器地址 + ":" + request.getServerPort() //端口号 + request.getContextPath() //应用

  • python简单获取本机计算机名和IP地址的方法

    本文实例讲述了python简单获取本机计算机名和IP地址的方法.分享给大家供大家参考.具体实现方法如下: 方法一: >>> import socket >>> hostname = socket.gethostname() >>> print hostname china-43226208c >>>ip = socket.gethostbyname(hostname) >>>print ip 192.168.3.19

  • java获取http请求的Header和Body的简单方法

    在http请求中,有Header和Body之分,读取header使用request.getHeader("..."); 读取Body使用request.getReader(),但getReader获取的是BufferedReader,需要把它转换成字符串,下面是转换的方法. public class TestController { @RequestMapping("/a") protected void doPost(HttpServletRequest requ

  • java获取键盘输入的数字,并进行排序的方法

    需求:由键盘输入三个整数分别存入变量num1.num2.num3,对它们进行排序, 并且从小到大输出 要求使用2种方法实现: 一.使用if-else分支结构: 二.使用java内置模块Arrays的排序方法. 一.使用if-else分支结构 class Date19_02 { public static void main(String[] arg){ sortOne(); } public static void sortOne(){ Scanner sc1 = new Scanner(Sys

  • Java获取两个字符串中最大相同子串的方法

    "abcwerthelloyuiodef" "cvhellobnm" 思路: 1,将短的那个子串按照长度递减的方式获取到. 2,将每获取到的子串去长串中判断是否包含,如果包含,已经找到! class StringTest3 { public static String getMaxSubString(String s1,String s2) { String max = "",min = ""; max = (s1.lengt

  • 利用Java将2019拆分成三个素数平方和的方法实例

    主要分析: (1):将2019拆分成三个素数平方和,就要先得到三个素数,这也就涉及到了三个素数的范围,我们不妨从其中最大的质数推论,因为是三个素数的平方和,所以最大的素数必然小于,现在也就了解了三个素数的大致范围,那么也就可以将这个范围内的素数放进数组中操作: (2):其次,三个素数可能有多种组合方式,可以利用到三重循环遍历所有情况,但也因为组合的多样,最后结果可能重复出现,因此要去重,例:(7.11.43)和(11.7.43),可以发现,这两对质数,虽然顺序不一,但表达的却是同一种结果,那发生

随机推荐