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