Dosyayı akış olarak okuyabiliyorum: Stream fin = File.OpenRead(FilePath);
Tüm dosya dönüşlerini bu dosya akışından nasıl bulabilir ve kaldırabilirim?C# Aktarım yerine ekstra satırbaşı getirileri kaldır
DÜZENLEME: Amaç, \r
numaralı tek satırlık dönüşleri kaldırmak ve satırsonu, "\r\n"
numaralı yeni satırda olanları geri döndürmek üzere bırakmaktır.
Örnek dosyası:
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
Ve sonuç gibi görünmelidir gibi görünür, neyin işe yaradığını nihai çözüm:
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;
}
ben almak Stream
, bir dizeye okumak için StreamReader
kullanın, sonra e xtra satırına geri dönün ve bir Stream
'a yazın. Kodum düzgün görünüyor mu yoksa farklı bir şey mi yapmalıyım?
iyi görünüyor. Küçük dosyalar için iyi bir çözüm. –