我是编程新手,所以让我们看看我是否可以解释得这么好。
我正在制作一个Java包。在其中一个类中,有一个创建文件的方法。我把它设置为“file.txt”的那个文件的名称,但我想改变它。
假设有一个用户正在处理一个新项目并导入了库package
(我正在处理的那个库)。我希望创建的文件采用用户正在处理的类的名称。例如,如果用户在名为Main
的类中调用它,我希望将文件称为main.txt
或Main.txt
。
如果这个不够清楚请告诉我,我会尽力解释一下。
由于
编辑:
getClass().getSimpleName()
与我想要的完全不同。该方法位于名为library
的库中,该类名为Main.class
,但正由导入库library
的用户使用,并且正在处理名为{{1}的类我希望文本文件被调用SuperMario.class
而不是SuperMario.txt
应用于我的方法,文件将被称为getClass().getSimpleName()
,因为这是该方法所在类的名称。不幸的是我也不能将名称作为参数传递。谁能想到解决这个问题的方法呢?
编辑:我设法让程序按照我想要的方式行事,我发布了我的回答。感谢所有评论。
答案 0 :(得分:0)
您可以使用getClass().getSimpleName()
,这将为您提供Java中的类名
答案 1 :(得分:0)
我解决了,但是谢谢大家的建议。
我最终使用了Thread.currentThread().getStackTrace()[2].getClassName()
String name = Thread.currentThread().getStackTrace()[2].getClassName();
File file = new File(name + ".txt");
我希望这有助于其他人。