
java如何获取类所在的文件
用户关注问题
如何通过Java代码找到一个类对应的.class文件位置?
我想知道在Java程序中,如何获取某个类对应的.class文件具体存储在哪个路径?
使用Class类的getResource方法获取.class文件路径
可以通过Class对象调用getResource方法,传入类的简单名称加上.class后缀,例如MyClass.class.getResource("MyClass.class"),这样可以返回该类对应的.class文件的URL,从而知道文件的具体位置。
Java中有没有方法能定位当前类文件的绝对路径?
我需要获取程序运行时,一个类文件所在的绝对磁盘路径,有没有简便的办法实现?
使用ClassLoader和getResource结合获取绝对路径
通过类的ClassLoader配合getResource方法,可以得到类文件的URL。随后调用URL的getPath方法即可获取绝对路径。示例代码:MyClass.class.getClassLoader().getResource("com/example/MyClass.class").getPath()。
能否通过Java代码获取运行时类的所在Jar包文件?
当类被打包到Jar文件中,如何用Java程序查找它隶属于哪个Jar包?
利用ProtectionDomain获取Jar包路径
通过类的ProtectionDomain,可以调用getCodeSource().getLocation()获取该类加载的源位置。不管是文件目录还是Jar包,都会返回对应URL,Jar包情况下,返回的是Jar文件的路径。