gpt4 book ai didi

java - 如何使用调用该方法的类的名称创建一个 .txt 文件?

转载 作者:行者123 更新时间:2023-11-29 04:56:20 26 4
gpt4 key购买 nike

我是编程新手,让我们看看我能否解释得足够好。

我正在制作一个 Java 包。在其中一个类中有一个创建文件的方法。该文件的名称我已将其设置为“file.txt”,但我想更改它。

假设有一个用户正在处理一个新项目,他导入了库包(我正在处理的那个)。我希望创建的文件采用用户正在处理的类的名称。例如,如果用户在名为 Main 的类中调用它,我希望文件名为 main.txt 或 Main.txt。

如果这还不够清楚,请告诉我,我会尽力解释得更好。

谢谢

编辑:我试过 getClass().getSimpleName() 但它的工作方式并不完全符合我的要求。该方法位于名为 library 的库中,该类名为 Main.class 但正在被导入库 library 的用户使用并且正在研究一个名为 SuperMario.class 的类 我希望文本文件被称为 SuperMario.txt 而不是 getClass().getSimpleName() 应用于我的方法,文件将被称为 Main.txt,因为这是方法所在的类的名称。不幸的是,我不能让方法将名称作为参数传递。谁能想出解决办法?

最佳答案

在你的库中,使用堆栈跟踪:

public class Called {

public static void calledMethod() {
System.out.println(Thread.currentThread().getStackTrace()[2].getClassName());
// stackTrace 0 is get stack trace.
// stack trace 1 is calledMethod
// stack trace 2 is the calling method aka main in
}
}

结果会是

eu.plop.test.TestClass

您必须在堆栈跟踪之后搜索以查看是否需要文件名、类名、方法名...然后一些字符串用于删除未使用的包。

关于java - 如何使用调用该方法的类的名称创建一个 .txt 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33631678/

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