我正在研究一个项目,一个要求是,如果main方法的第二个参数以“ /
”
开头(对于Linux),则应将其视为绝对路径(不是问题),但如果它不是以“”开头/
”,则它应获取该类的 当前工作路径 ,并将其附加给定的参数。
我可以通过几种方式获取类名:System.getProperty("java.class.path")
,new File(".")
和getCanonicalPath()
,等等。
问题是,这只会给我提供存储包的目录-即,如果我有一个html" target="_blank">存储在“ .../project/this/is/package/name
”中的类,它将只给我“
/project/
”,而忽略了实际.class files
存在的包名称。
有什么建议?
编辑:这是从练习说明中得到的解释
sourcedir可以是绝对的(以“ /”开头),也可以是相对于我们从中运行程序的位置
sourcedir是main方法的给定参数。我如何找到那条路?
使用this.getClass().getCanonicalName()
来获得完整的类名。
请注意,程序包/类名(“ abC”)与.class文件(a / b /
C.class)的路径不同,并且使用程序包名/类名派生路径通常是不好的做法。类文件/软件包的集合可以位于多个不同的类路径中,这些路径可以是目录或jar文件。
问题内容: 有没有办法在运行时获取当前包的名称? …且结果应为“主要” 现在我正在使用常量,例如: 但我很好奇您能否避免这种情况 问题答案: 没有提供所需功能的运行时或反射方法或函数。 我能找到的最接近的东西是: 这将输出: 您还可以读取文件的第一行并删除“ package”子字符串。(不确定这是最好的主意)
问题内容: 我要做的就是获取当前的类名,并且java在类名的末尾附加了一个无用的废话 $ 1 。如何摆脱它,只返回实际的类名? 问题答案: “ $ 1”不是“无用的废话”。如果您的班级是匿名的,则会附加一个数字。 如果您不想要类本身,而是想要其声明类,则可以使用。例如: 您可以使用一些静态实用程序方法来移动它。 但是请注意,这不是当前的类名。匿名类与其封闭类是不同的类。内部类的情况与此类似。
问题内容: 我需要自己编写一些util类,并且需要android应用的程序包名称。虽然我发现仅可在Activity中使用的packageManager等具有上下文。我只想在我的班级中获取包名,该包名将在android应用程序中使用。那我该怎么做呢?谢谢! 问题答案: 用途: 或者 您还可以创建一个函数:
我用LocalDateTime.now()获得Java8中的LocalDateTime。但是有时这个now()函数以没有秒的格式返回时间给我。我以为是因为秒是零,但我需要秒。 PD:我有一个调度程序,它每30秒运行一次“LocalDateTime.Now()”。这是它在控制台中显示的内容。
多谢了。
问题内容: 有没有办法在Django模板中获取当前页面的URL及其所有参数? 例如,一个模板标签将显示完整的网址,例如 问题答案: 编写自定义上下文处理器。例如 在设置变量中添加该函数的路径,然后在模板中使用它,如下所示: 如果要在每个请求中都有完整的对象,则可以使用内置的上下文处理器,然后在模板中使用。