मैं एक परियोजना पर काम कर रहा हूं और एक आवश्यकता यह है कि अगर मुख्य विधि के लिए 2 तर्क " /
" (लिनक्स के लिए) से शुरू होता है , तो इसे इसे एक पूर्ण पथ (समस्या नहीं) के रूप में माना जाना चाहिए, लेकिन अगर यह "से शुरू नहीं होता है" /
“, इसे कक्षा का वर्तमान कार्य पथ मिलना चाहिए और इसे दिए गए तर्क के साथ जोड़ना चाहिए।
मैं कई मायनों में वर्ग के नाम प्राप्त कर सकते हैं: System.getProperty("java.class.path")
, new File(".")
और getCanonicalPath()
, और इतने पर ...
समस्या यह है, यह केवल मुझे वह निर्देशिका देता है जिसमें पैकेज संग्रहीत किए जाते हैं - यानी अगर मेरे पास " .../project/this/is/package/name
" में एक वर्ग संग्रहीत है , तो यह केवल मुझे " /project/
" देगा और पैकेज के नाम को अनदेखा करता है जहां वास्तविक .class files
जीवन रहता है।
कोई सुझाव?
संपादित करें: यहाँ विवरण है, व्यायाम विवरण से लिया गया है
sourcedir या तो निरपेक्ष हो सकता है ("/" के साथ शुरू) या जहां से हम कार्यक्रम चलाते हैं उसके सापेक्ष
sourcedir मुख्य विधि के लिए एक दिया गया तर्क है। मुझे वह रास्ता कैसे मिल सकता है?