मैं सोच रहा था कि कोई मुझे बता सकता है कि स्ट्रीमरडर को प्रोग्राम की वर्तमान कार्य निर्देशिका के अंदर फ़ाइल में कैसे इंगित करना है।एक रिश्तेदार फ़ाइलपैथ पर स्ट्रीमर
ईजी। मान लें कि मेरे पास प्रोग्राम प्रोग है, निर्देशिका सी: \ ProgDir में सहेजा गया है। मैं एक साझा फ़ोल्डर में \ ProgDir प्रतिबद्ध करता हूँ। प्रोगोडिर के अंदर एक और निर्देशिका है जिसमें मैं प्रोजे (जैसे \ ProgDir \ TestDir \ TestFile.txt) में आयात करना चाहता हूं, मैं इसे बनाना चाहता हूं ताकि StreamReader उन टेस्टफाइल को पढ़ सके, भले ही निर्देशिका के पथ में बदला हुआ;
(जैसे, अपने कंप्यूटर पर, Testfiles के लिए पथ
C: \ ProgDir \ TestDir \ TestFile.txt
लेकिन अन्य व्यक्ति के कंप्यूटर पर, निर्देशिका
हैC: \ dev_code \ ProgDir \ TestDir \ TestFile.txt
)।
मैं किसी अन्य व्यक्ति के कंप्यूटर पर TestFile.txt से पढ़ने के लिए स्ट्रीमरडर को कैसे प्राप्त करूं? (स्पष्ट करने के लिए, फ़ाइल नाम में परिवर्तन नहीं करते, केवल परिवर्तन पथ ProgDir है)
मैं निम्नलिखित की कोशिश की:
string currentDir = Environment.CurrentDirectory;
DirectoryInfo directory = new DirectoryInfo(currentDir);
FileInfo file = new FileInfo(TestFile.txt);
string fullDirectory = directory.FullName;
string fullFile = file.FullName;
StreamReader sr = new StreamReader(@fullDirectory + fullFile);
(से खींच लिया: Getting path relative to the current working directory?)
लेकिन मुझे मिल रहा है "वर्तमान संदर्भ में टेस्टफाइल मौजूद नहीं है"। किसी के पास कोई विचार है कि मुझे इस बात से कैसे संपर्क करना चाहिए?
धन्यवाद।
आपका शीर्षक आपके प्रश्न से पूरी तरह से असंबंधित दिखता है ... स्टॉपवॉच कहां आती है? –
इसके बारे में क्षमा करें, मुझे लगता है कि शीर्षक किसी भी तरह से मेरे अंतिम प्रश्न से लिया गया है। – gfppaste