से अतिरिक्त कैरिज रिटर्न हटाएं मैं स्ट्रीम के रूप में फ़ाइल पढ़ रहा हूं: Stream fin = File.OpenRead(FilePath);
क्या कोई तरीका है कि मैं उस फ़ाइल स्ट्रीम से सभी कैरिज रिटर्न को कैसे ढूंढ और निकाल सकता हूं?सी # स्ट्रीम
संपादित करें: लक्ष्य एकल कैरिज-रिटर्न \r
को निकालना है और कैरिज रिटर्न को न्यूलाइन "\r\n"
बरकरार रखने के लिए छोड़ दें।
उदाहरण फ़ाइल:
The key backed up in this file is:
\r\n
pub 2048R/65079BB4 2011-08-01
\r\n
Key fingerprint = 2342334234
\r\n
uid test
\r\n
sub 2048R/0B917D1C 2011-08-01
EDIT2::
The key backed up in this file is:\r
\r\n
pub 2048R/65079BB4 2011-08-01\r
\r\n
Key fingerprint = 2342334234\r
\r\n
uid test\r
\r\n
sub 2048R/0B917D1C 2011-08-01\r
और परिणाम की तरह दिखना चाहिए अंतिम समाधान क्या इस तरह दिखता है काम कर रहा है:
static private Stream RemoveExtraCarriageReturns(Stream streamIn)
{
StreamReader reader = new StreamReader(streamIn);
string key = reader.ReadToEnd();
string final = key.Replace("\r\r", "\r");
byte[] array = Encoding.ASCII.GetBytes(final);
MemoryStream stream = new MemoryStream(array);
return stream;
}
मैं में ले Stream
एक स्ट्रिंग में पढ़ने के लिए StreamReader
का उपयोग करें, फिर ई को हटा दें एक्स्ट्रा कैरिज-रिटर्न और इसे Stream
पर वापस लिखें। क्या मेरा कोड ठीक दिखता है या क्या मुझे कुछ अलग करना चाहिए?
ठीक लग रहा है, हालांकि आप शायद एपीआई स्वच्छता के लिए विधि के भीतर शून्य करने के लिए वापसी धारा की स्थिति निर्धारित करना चाहिए। छोटी फाइलों के लिए अच्छा समाधान। –