2013-01-31 17 views
8

Find absolute java.exe path programatically from java code से संबंधित हैं, यह जानने का कोई तरीका है कि जावा प्रक्रिया जो आप चल रहे हैं उसे "java.exe" बनाम "javaw" के रूप में शुरू किया गया था। प्रोग्राम फ़ाइल"?जावा कैसे पता चल रहा है कि आप javaw.exe बनाम java.exe

धन्यवाद

उत्तर

9

वी एम (, कहते हैं, क्योंकि आप इसे javaw.exe साथ शुरू किया था) कोई कंसोल उपलब्ध है, तो System.console() के लिए एक कॉल अशक्त वापस आ जाएगी।

संपादित करें: अर्थात,

final boolean amRunningJavaW = System.console() == null; 
+0

सच पूछिये तो, मैं, चर 'probablyRunningJavaW' नामित किया जाना चाहिए था, क्योंकि यह वास्तव में निष्पादन प्रक्रिया नाम का परीक्षण नहीं किया गया है। :-) और अन्य कारण भी हो सकते हैं कि सिस्टम कंसोल क्यों उपलब्ध नहीं है, हालांकि मुझे किसी भी ऑफहैंड के बारे में पता नहीं है। –

+0

'System.console()' 'null' लौटने के कारणों के संबंध में, यदि आपका एप्लिकेशन किसी अन्य प्रोग्राम (जैसे अधिक, कम) या फ़ाइल में पाइप की मानक आउट स्ट्रीम के साथ चलाया जाता है, तो 'System.console () 'वापस' वापस आ जाएगा –