2012-01-17 12 views
14
string abc = "This is a string"; 

मैं फ़ाइलस्ट्रीम में एबीसी कैसे लोड करूं?डिस्क पर जाने के बिना मैं एक फ़ाइलस्ट्रीम में स्ट्रिंग कैसे लोड करूं?

FileStream input = new FileStream(.....); 
+2

क्या यह सिर्फ ' मेमोरीस्ट्रीम फिर? – Yuck

+1

आप क्यों चाहेंगे? मेमोरीस्ट्रीम की तरह कुछ क्यों नहीं? –

+1

क्या इसे एक फाइल स्ट्रीम होना चाहिए? –

उत्तर

17

उपयोग के बजाय एक MemoryStream ...

MemoryStream ms = new MemoryStream(System.Text.Encoding.ASCII.GetBytes(abc)); 

याद एक MemoryStream (सिर्फ एक FileStream की तरह) को बंद करना पड़ा जब आप इसके साथ समाप्त कर दिया है की जरूरत है। तुम हमेशा इस आसान बनाने के लिए एक का उपयोग कर ब्लॉक में अपने कोड जगह कर सकते हैं ...

using(MemoryStream ms = new MemoryStream(System.Text.Encoding.ASCII.GetBytes(abc))) 
{ 
    //use the stream here and don't worry about needing to close it 
} 

नोट: अपने स्ट्रिंग ASCII जब एक बाइट सरणी में कनवर्ट आप इस निर्दिष्ट करने के लिए चाहते हो सकता है के बजाय यूनिकोड है। असल में, एक यूनिकोड चरित्र 1 के बजाय 2 बाइट लेता है। यदि आवश्यक हो तो पैडिंग जोड़ा जाएगा (उदाहरण के लिए 0x00 0x61 = "ए" यूनिकोड में, जहां ASCII 0x61 = "a" में)

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