मुझे एक विधि को कॉल करने की आवश्यकता है जो स्ट्रीम तर्क स्वीकार करता है। विधि स्ट्रीम में टेक्स्ट लोड करती है, जो आमतौर पर एक फ़ाइल होगी। मैं बस एक फ़ाइल में लिखने के बजाय स्ट्रीम की सामग्री के साथ एक स्ट्रिंग को पॉप्युलेट करना चाहता हूं। मैं यह कैसे करु?मैं नेट में स्ट्रीम के रूप में स्ट्रिंग का उपयोग कैसे करूं?
उत्तर
एक StreamReader के साथ एक MemoryStream का उपयोग करें। कुछ की तरह:
using (MemoryStream ms = new MemoryStream())
using (StreamReader sr = new StreamReader(ms))
{
// pass the memory stream to method
ms.Seek(0, SeekOrigin.Begin); // added from itsmatt
string s = sr.ReadToEnd();
}
को फिर से देखें MemoryStream वर्ग
उपयोग StringWriter एक स्ट्रिंग पर एक धारा के रूप में कार्य करने के लिए:
StringBuilder sb = new StringBuilder();
StringWriter sw = new StringWriter(sb);
CallYourMethodWhichWritesToYourStream(sw);
return sb.ToString();
एक स्ट्रिंगवाइटर एक प्रकार का टेक्स्टवाइटर है, न कि स्ट्रीम का प्रकार, इसलिए इसे स्ट्रीम की अपेक्षा करने वाली विधि को पारित नहीं किया जा सकता है। –
आप की तरह कुछ कर सकते हैं:
string s = "Wahoo!";
int n = 452;
using(Stream stream = new MemoryStream()) {
// Write to the stream
byte[] bytes1 = UnicodeEncoding.Unicode.GetBytes(s);
byte[] bytes2 = BitConverter.GetBytes(n);
stream.Write(bytes1, 0, bytes1.Length);
stream.Write(bytes2, 0, bytes2.Length);
या आप बस मेइटस्ट्रीम को बाइट्स 1 [] सरणी से बना सकते हैं। –
MemoryStream ms = new MemoryStream();
YourFunc(ms);
ms.Seek(0, SeekOrigin.Begin);
StreamReader sr = new StreamReader(ms);
string mystring = sr.ReadToEnd();
एक तरह से यह करने के लिए है।
हम्म ... ब्रायंट की प्रतिक्रिया पहले नहीं देखी - अनिवार्य रूप से वही बात। ओह अच्छा। अगर आप इसे सेक कॉल जोड़ते हैं तो उनकी इच्छा काम करेगी। – itsmatt
यह कोड वास्तव में काम करता है। ब्रायंट की बेहतर स्वरूपित प्रतिक्रिया के साथ इसे मर्ज करना बहुत अच्छा होगा, लेकिन मेरे पास अभी तक ऐसा करने की प्रतिष्ठा नहीं है ... – JoshL
- 1. मैं सी ++ में लॉक के रूप में एक मनमानी स्ट्रिंग का उपयोग कैसे करूं?
- 2. मैं एक स्ट्रिंग का उपयोग कीवर्ड तर्क के रूप में कैसे करूं?
- 3. मैं XmlTextReader से एक स्ट्रिंग के रूप में एक्सएमएल को एक Response.Write में कैसे आउटपुट करूं?
- 4. रूबी और नेट-एसएसएच का उपयोग करके, मैं नेट :: एसएसएच.स्टार्ट के साथ key_data पैरामीटर का उपयोग करके प्रमाणीकरण कैसे करूं?
- 5. मैं स्ट्रिंगस्ट्रीम से सी ++ में स्ट्रिंग में कैसे परिवर्तित करूं?
- 6. पर्ल में प्रिंट फ़ाइलहेडल के रूप में मैं क्लास प्रॉपर्टी/वैरिएबल का उपयोग कैसे करूं?
- 7. मैं जावा में एक स्ट्रिंग में इनपुटस्ट्रीम कैसे परिवर्तित करूं?
- 8. मैं सी # में एसिंक्रोनस टीसीपी ऑब्जेक्ट स्ट्रीम कैसे प्राप्त करूं?
- 9. मैं सुरक्षित रूप से SecureString का उपयोग कैसे करूं?
- 10. मैं नेट में एक वीडियो थंबनेल कैसे प्राप्त करूं?
- 11. मैं गतिशील लिंक में HAML का उपयोग कैसे करूं?
- 12. ककड़ी JVM: मैं इनपुट मान के रूप में डबल का उपयोग कैसे करूं?
- 13. मैं PostgreSQL क्वेरी के हिस्से के रूप में स्ट्रिंग में एक पूर्णांक को कैसे परिवर्तित करूं?
- 14. नेट में स्ट्रिंग तुलना: "+" बनाम "-"
- 15. मैं एक्सेस में चयनित पंक्तियों का उपयोग कैसे करूं?
- 16. मैं Android में showAlert विधि का उपयोग कैसे करूं?
- 17. स्विच-केस में मामले के रूप में मैं एक char का उपयोग कैसे करूं?
- 18. मैं कक्षा में विधियों के रूप में हैश कुंजी का उपयोग कैसे करूं?
- 19. सी ++ में स्ट्रिंग^समझना। नेट
- 20. मैं नेट :: HTTP :: पोस्ट का उपयोग कर एक्सएमएल को रीस्टफुल वेब सेवा में कैसे पोस्ट करूं?
- 21. मैं नैन्सीएफएक्स में स्ट्रीम आउटपुट कैसे लिखूं?
- 22. मैं नेट/http में हैंडलर को अपंजीकृत कैसे करूं?
- 23. मैं पाइथन में HTTP दिनांक-स्ट्रिंग का विश्लेषण कैसे करूं?
- 24. मैं पथ के संदर्भ में '~' (tilde) का उपयोग कैसे करूं?
- 25. मैं सी # का उपयोग कर मूल्य में "&" के साथ क्वेरी स्ट्रिंग को कैसे पार्स करूं?
- 26. मैं .NET में बड़े बिटकैप्स का उपयोग कैसे करूं?
- 27. मैं उद्देश्य-सी में विधि पैरामीटर के रूप में एक स्ट्रिंग कैसे पास करूं?
- 28. मैं बैश में उद्धृत स्ट्रिंग में न्यूलाइन कैसे संरक्षित करूं?
- 29. MATLAB में फ़ंक्शन तर्क के रूप में मैं स्ट्रिंग को कैसे पास करूं?
- 30. मैं global.asax.cs में बनाई गई संपत्ति का उपयोग कैसे करूं?
शायद यह उल्लेख करना चाहें कि इसे पढ़ने के लिए इसे उपयोग करने से पहले आपको स्ट्रीम को रिवाइंड करना होगा। :) –