Czy można naprawić plik binarny odczytany przez StreamReader i StreamWriter?

Jeśli przeczytałem i napisałem plik binarny przy użyciu StreamReader i StreamWriter, czy plik można naprawić?

// Original Code - Corrupted the Destination File
using (Stream responseStream = response.GetResponseStream())
{
    using (StreamReader reader = new StreamReader(responseStream))
    {
        using (StreamWriter writer = new StreamWriter(destinationFileName, false))
        {
            writer.Write(reader.ReadToEnd());
        }
    }
}


// New Code - Destination File is Good
using (Stream responseStream = response.GetResponseStream())
{
    using (FileStream fs = File.Create(destinationFileName))
    {
        responseStream.CopyTo(fs);
    } 
}

questionAnswers(2)

yourAnswerToTheQuestion