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