StreamReader возвращает только часть строки - PullRequest
0 голосов
/ 23 сентября 2019

Я расшифровываю файл и помещаю его содержимое в строку, но мое возвращение всегда является лишь частью строки.До того, как я использовал FileStream, он работал отлично, но когда я переключился на MemoryStream, он работал не очень хорошо ...

using (MemoryStream l_tempDecryptFile = new MemoryStream())
{
    using (CryptoStream cryptoStream = new CryptoStream(l_tempDecryptFile, transform, CryptoStreamMode.Write))
    {
        using (FileStream source = new FileStream("FirstKey.dll", FileMode.Open, FileAccess.Read, FileShare.Read))
        {
            source.CopyTo(cryptoStream);
            cryptoStream.Flush();
            l_tempDecryptFile.Position = 0;

            using (var reader = new StreamReader(l_tempDecryptFile, Encoding.UTF8))
            {
                string line;
                while ((line = reader.ReadLine()) != null)
                {
                    l_txt.Add(line);
                    l_tempDecryptFile.Flush();
                }
            }
        }
    }
}                    
return l_txt;

Что я делаю не так?

Когда я использую FileStream, он работает, но он мне нужен из MemoryStream:

using (FileStream l_tempDecryptFile = new FileStream("FirstKey.txt", FileMode.CreateNew, FileAccess.Write, FileShare.None))
{
    using (CryptoStream cryptoStream = new CryptoStream(l_tempDecryptFile, transform, CryptoStreamMode.Write))
    {
        using (FileStream source = new FileStream("FirstKey.dll", FileMode.Open, FileAccess.Read, FileShare.Read))
        {
            source.CopyTo(cryptoStream);       
        }
    }
}     
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...