Я работаю над проектом, и одно требование заключается в том, что если второй аргумент для основного метода начинается с « /
» (для linux), он должен рассматривать его как абсолютный путь (не проблема), но если он не начинается с « /
”, Он должен получить текущий рабочий путь класса и добавить к нему заданный аргумент.
Я могу получить имя класса несколько способов: System.getProperty("java.class.path")
, new File(".")
и getCanonicalPath()
, и так далее ...
Проблема в том, что это дает мне только каталог, в котором хранятся пакеты - то есть, если у меня есть класс, хранящийся в " .../project/this/is/package/name
", он дал бы мне только " /project/
" и игнорировал бы имя пакета, в котором на самом деле .class files
живет.
Какие-либо предложения?
РЕДАКТИРОВАТЬ: вот объяснение, взятое из описания упражнения.
sourcedir может быть абсолютным (начиная с «/») или относительно того, откуда мы запускаем программу.
sourcedir - это заданный аргумент для основного метода. как мне найти этот путь?