Bir proje üzerinde çalışıyorum ve bir gereksinim, ana yöntemin 2. argümanı " /
" (linux için) ile başlıyorsa, onu mutlak bir yol (sorun değil) olarak kabul etmelidir, ancak eğer " /
", Sınıfın mevcut çalışma yolunu almalı ve verilen argümanı ona eklemelidir .
: Ben birkaç şekilde sınıf adını alabilir System.getProperty("java.class.path")
, new File(".")
ve getCanonicalPath()
benzeri, ve ...
Sorun şu ki, bu bana yalnızca paketlerin depolandığı dizini veriyor - yani " .../project/this/is/package/name
" içinde depolanan bir sınıfım varsa , bu bana yalnızca " /project/
" verir ve gerçek .class files
yaşadığı paket adını yok sayar .
Herhangi bir öneri?
DÜZENLEME: İşte alıştırma açıklamasından alınan açıklama
sourcedir mutlak ("/" ile başlayarak) veya programı nereden çalıştırdığımıza bağlı olabilir
sourcedir, ana yöntem için verilen bir argümandır. bu yolu nasıl bulabilirim?