2012-02-10 7 views
8

मैं अपने प्रोग्राम को %APPDATA% द्वारा सेट किए गए स्थान पर अपने राज्य को सहेजने का प्रयास कर रहा हूं जब उपयोगकर्ता विंडोज का उपयोग कर रहा है। हालांकि, System.getProperty("temp.dir"); इसे वापस नहीं करता है। राज्य की बचत के उद्देश्य से, विंडोज़ में %APPDATA% वैरिएबल का मूल्य कैसे प्राप्त करूं?मुझे जावा में Windows '% APPDATA% स्थान चर का मान कैसे प्राप्त होगा?

+0

संभावित डुप्लिकेट http कर सकते हैं: // stackoverflow .com/प्रश्न/11 9 8 9 11/कैसे-टू-गेट-स्थानीय-एप्लिकेशन-डेटा-फ़ोल्डर-इन-जावा –

+0

बेहतर डुप्लिकेट http://stackoverflow.com/questions/585534/what-is-the-best-way- खोजने के लिए उपयोगकर्ता-घर-निर्देशिका-इन-जावा –

उत्तर

20

उपयोग System.getenv()

System.getenv("APPDATA") 

लेकिन मुझे लगता है

System.getProperty("user.home") 

प्राथमिकता दी जानी चाहिए, भले ही यह बिल्कुल एक ही बात नहीं है, क्योंकि यह अधिक पोर्टेबल है।

+0

यदि आप एक गैर-विंडोज ओएस पर 'System.getenv ("APPDATA")' का प्रयास करते हैं तो क्या होता है? यह देखते हुए कि 'APPDATA' विंडोज-विशिष्ट है, मैं कल्पना करता हूं कि कुछ त्रुटि होती है। – DavidB

+1

@ डेविड बी: कोई त्रुटि नहीं, यह एक शून्य मान –

+0

ग्रेट वापस कर देगा। धन्यवाद! – DavidB

7

APPDATA एक ​​Windows विशिष्ट वातावरण चर है कि आप स्थान जहां आवेदन विशिष्ट डेटा संग्रहीत किया जाता है देता है, इसलिए यदि आप मंच स्वतंत्र कोड लिखने के लिए नहीं देख रहे हैं, तो आप सिर्फ System.getenv("APPDATA");

संबंधित मुद्दे