我正在研究一个项目,一个要求是,如果main方法的第二个参数以“ /
”开头(对于linux),则应将其视为绝对路径(不是问题),但如果它不是以“”开头/
”,则它应获取该类的当前工作路径,并将其附加给定的参数。
我可以通过几种方式获取类名:System.getProperty("java.class.path")
,new File(".")
和getCanonicalPath()
,等等。
问题是,这仅给我提供了存储软件包的目录-即,如果我在“ .../project/this/is/package/name
”中存储了一个类,则只会给我“ /project/
”,而忽略了实际.class files
存在的软件包名称。
有什么建议么?
编辑:这是从练习说明中得到的解释
sourcedir可以是绝对的(以“ /”开头),也可以是相对于我们从中运行程序的位置
sourcedir是main方法的给定参数。我如何找到那条路?