से शुरू होने वाला पथ मुझे एक साधारण समस्या है। मैं उपयोगकर्ता निर्देशिका में एक फ़ाइल है कि इस तरह दिखता है के लिए एक रास्ता है:सी # खुली फ़ाइल,% userprofile%
%USERPROFILE%\AppData\Local\MyProg\settings.file
जब मैं एक फ़ाइल
ostream = new FileStream(fileName, FileMode.Open);
यह त्रुटि थूक क्योंकि वह वर्तमान को %userprofile%
जोड़ने की कोशिश के रूप में यह खोलने का प्रयास निर्देशिका, तो यह हो जाता है:
C:\Program Files\MyProg\%USERPROFILE%\AppData\Local\MyProg\settings.file
मैं इसे कैसे स्वीकार करते हैं कि एक रास्ता %USERPROFILE%
के साथ शुरू एक निरपेक्ष, नहीं एक रिश्तेदार पथ है कर सकता हूँ?
पुनश्च: मैं
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
उपयोग नहीं कर सकते क्योंकि मैं सिर्फ अपने नाम से फ़ाइल को खोलने की जरूरत है। उपयोगकर्ता नाम निर्दिष्ट करता है। यदि उपयोगकर्ता "settings.file" निर्दिष्ट करता है, तो मुझे प्रोग्राम dir से संबंधित फ़ाइल खोलनी होगी, यदि उपयोगकर्ता %USERPROFILE%
से शुरू होने वाला पथ निर्दिष्ट करता है या कुछ अन्य चीज जो C: \ something में परिवर्तित होती है, मुझे इसे भी खोलने की आवश्यकता है!
क्यों न केवल 'पर्यावरण। गेटफोल्डरपैथ (पर्यावरण। विशेष फ़ोल्डर। लोकल एप्प्लिकेशनडाटा) '? –
क्योंकि यह अधिक सामान्य है - आप मानते हैं कि पारित पर्यावरण चर हमेशा '% USERPROFILE%' होगा - यदि यह कुछ और है तो क्या होगा? (जो प्रश्न पूछ रहा है - यह पर्यावरण चर का विस्तार करने के बारे में पूछ रहा है - उदाहरण के लिए उपयोग किया गया उदाहरण उपयोगकर्ता प्रोफ़ाइल आकस्मिक है)। – Oded
आह, मैं देखता हूं। खराब उदाहरण ओपी ने –