gpt4 book ai didi

java - 可以获取调用Java中方法的类的文件路径吗?

转载 作者:行者123 更新时间:2023-12-01 22:37:36 25 4
gpt4 key购买 nike

假设我有这样的场景

C:\Users\Name\Documents\Workspace\Project\Src\Com\Name\Foo.java

Public class Foo {

public Foo() {
Bar b = new Bar();
b.method();
}
}

然后假设 Bar 类位于用作库的 .JAR 文件中,是否可以找出调用 method() 的类来自何处? (在本例中为 Foo 类)

我在 Google 上查了一下,但找不到任何东西,而这段代码肯定会大大简化我的库。

最佳答案

如果您需要从方法 Bar#method 内部获取调用者类文件的路径,那么您可以使用如下内容:

StackTraceElement[] stackTrace = new Throwable().getStackTrace();
String callerFilePath = getClass().getClassLoader().getResource(stackTrace[1].getClassName().replace('.', '/') + ".class"));

关于java - 可以获取调用Java中方法的类的文件路径吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26674037/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com