2012-09-12 12 views
7

मेरे पास बाइट [] के रूप में एक टेक्स्ट फ़ाइल है।बाइट [] फ़ाइल से सभी पाठ कैसे पढ़ा जाए?

मैं कहीं भी फ़ाइल को सहेज नहीं सकता।

मैं इस 'फ़ाइल' से सभी पंक्तियां/पाठ पढ़ना चाहता हूं।

क्या कोई मुझे सही दिशा में इंगित कर सकता है कि मैं सी # में बाइट [] से सभी पाठ कैसे पढ़ सकता हूं?

धन्यवाद!

+1

आपने अभी तक क्या प्रयास किया? – VIRA

+1

क्या आपने बाइट [] fileC = File.ReadAllBytes (dialog.FileName) की कोशिश की है; –

+0

@ टोडेड मूसा मेरे पास पहले से ही एक बाइट के रूप में फ़ाइल है [], मैं उस बाइट [] से पाठ को पढ़ने की कोशिश कर रहा हूं। यह मुझे दिया जा रहा है, और मेरे पास वास्तव में डिस्क पर सहेजी गई फ़ाइल नहीं है, और मैं इसे डिस्क पर सहेजना नहीं चाहता हूं और फिर पढ़ना चाहता हूं। – Kyle

उत्तर

19

मैं एक MemoryStream बना सकते हैं और उस के साथ एक StreamReader, यानी दृष्टांत होगा:

stream.readLine(); 

या पूर्ण फ़ाइल का उपयोग:

var stream = new StreamReader(new MemoryStream(byteArray)); 

फिर पाठ के साथ एक समय में एक लाइन प्राप्त

stream.readToEnd(); 
+0

यह काम करता है, धन्यवाद! – Kyle

+1

कोई समस्या नहीं, मुझे इसे एक [सुपर महत्वपूर्ण] (http://codegolf.stackexchange.com/questions/88/obfuscated-fizzbuzz-golf) के लिए एक बार कारण समझना पड़ा। –

0

Encoding का उपयोग कर एक अन्य संभावित समाधान:

Encoding.Default.GetString(byteArray); 

यह वैकल्पिक लाइनों प्राप्त करने के लिए विभाजित किया जा सकता:

Encoding.Default.GetString(byteArray).Split('\n'); 

तुम भी UTF-8 के बजाय Default का उपयोग कर की तरह एक विशेष एन्कोडिंग चुन सकते हैं।

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