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