Я читаю файл как поток: Stream fin = File.OpenRead (FilePath);
Есть ли способ найти и удалить все символы возврата каретки из этого файлового потока?
РЕДАКТИРОВАТЬ: Цель состоит в том, чтобы удалить одиночный возврат каретки \ r
и оставить символы возврата каретки такими, какие есть с новой строкой «\ r \ n»
без изменений.
Файл примера:
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
Результат должен выглядеть так:
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
РЕДАКТИРОВАТЬ2: Окончательное решение, которое работает, выглядит следующим образом:
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;
}
Я беру поток
, использую StreamReader
, чтобы прочитать его в строку, затем удаляю лишний возврат каретки и записываю его обратно в поток
.
Мой код выглядит нормально или мне следует сделать что-то по-другому?