VB.NET - Load a List of Values from a Text File -
मेरे पास एक पाठ फ़ाइल है जो निम्न की तरह है:
[group1] value1 value2 value3
[group2] value1 value2
[group3] value3 value 4
आदि
मैं क्या करने में सक्षम होना चाहता हूँ, लोड हो रहा है समूह मूल्य में पारित किए जाने के आधार पर एक सरणी (या सूची?) में मान जैसे। यदि मैं "समूह 2" में उत्तीर्ण हूं, तो वह "मान 1" और "मान 2" की एक सूची वापस कर देगा।
इसके अलावा ये मान अक्सर (आमतौर पर हर 6 महीने या तो) बदलते नहीं हैं, इसलिए
आपकी मदद के लिए धन्यवाद।
Leddo
Div>
यह घर का काम प्रश्न है?
फ़ाइल को पढ़ने के लिए स्ट्रीम रीडर वर्ग का उपयोग करें (आपको इसकी आवश्यकता होगी शायद ओन्डऑफस्ट्रीम और रीडलाइन ()) का उपयोग करें और स्ट्रिंग हेरफेर के लिए स्ट्रिंग क्लास का उपयोग करें (शायद .स्ट्राट्स विथ (), एसबस्ट्रिंग () और .स्पलिट ()।
उन्हें स्टोर करने का बेहतर तरीका आपके पास कितने समूह होंगे, कितने मूल्य होंगे, कितनी बार डेटा का उपयोग किया जा सकता है, आदि। संभव है कि प्रश्न का मूल शब्द हमें सुनने के बाद क्या किया गया था, इसके बारे में हमें बेहतर सुराग मिलेगा।
जोड़:
इसलिए, यह प्रोग्राम संभालने / सेवा चल रही है और पूरे दिन चल रहा है , और यह कि फ़ाइल बहुत बड़ी नहीं है, तो आप संभवत: फ़ाइल को केवल एक बार एक स्ट्रिंग (स्ट्रिंग की सूची) में पढ़ना चाहते हैं। इसमें शामिल की तरह की विधि निर्धारित करेगी कि कोई समूह मौजूद है या नहीं।
फंक्शन GetValueSet (ByVal filename as String) शब्दकोश के रूप में (स्ट्रिंग की, सूची (स्ट्रिंग की)) dim valueSet = New Dictionary (String of) , स्ट्रिंग की () स्ट्रिंग के रूप में स्ट्रिंग डीम मूल्यों (स्ट्रिंग की) = पंक्तियों के रूप में प्रत्येक लाइन के लिए स्ट्रिंग के रूप में कुछ भी नहीं यदि पंक्ति। तारों ("[ ") तो अगर मान नहीं है तो मान valueSet.add (हेडर, मान) अंत हैडर = गेटहाइडर (लाइन) मान = नई सूची (स्ट्रिंग की) () अन्यथा मान नहीं है तो फिर मान मान स्ट्रिंग = line.Trim ( ) यदि मान & lt; & gt; "" फिर मान। जोड़ें (मान) अंत अगर अंत अगर अगले नहीं मान नहीं है तो कुछ भी नहीं मान valueetet.add (header, values) अंत अगर वापसी मानसभी अंत समारोह समारोह getHeader (स्ट्रिंग के रूप में बायलाइन) मंद सूचकांक के रूप में पूर्णांक = line.IndexOf ("]") लौटें लाइन। शटलिंग (1, सूचकांक -1) समाप्ति फ़ंक्शन
इसके अतिरिक्त:
अब अगर आपका चल रहा है बहु-थ्रेडेड समाधान (जिसमें सभी एएसपी.नेट समाधान भी शामिल हैं) तो आप या तो यह सुनिश्चित करना चाहते हैं कि आप इसे ऐप्लीकेशन शुरू करने पर (ASP.Net के लिए जो कि Global.asax में है, मुझे लगता है कि यह ApplicationStart या OnStart या कुछ और है), या आपको लॉकिंग की आवश्यकता होगी WinForms और सेवाएं डिफ़ॉल्ट रूप से बहु-थ्रेडेड नहीं होती हैं।
इसके अलावा, यदि फ़ाइल में आपको ऐप / सेवा / वेब-साइट को पुनरारंभ करने की आवश्यकता होती है या आपको डेटा को पुनः लोड करने के लिए एक फ़ाइल वॉचर जोड़ने की आवश्यकता होगी ( और फिर बहु-थ्रेडिंग को लॉकिंग की आवश्यकता होगी क्योंकि यह एप्लिकेशन स्टार्टअप तक सीमित नहीं है)।
Comments
Post a Comment