Comment puis-je utiliser le Fichier.ReadAllBytes En morceaux

Je suis en utilisant ce code

        string location1 = textBox2.Text;
        byte[] bytes = File.ReadAllBytes(location1);
        string text = (Convert.ToBase64String(bytes));
        richTextBox1.Text = text;

Mais lorsque j'utilise un fichier qui est trop grand, je sors de la mémoire exception.

Je veux utiliser File.ReadAllBytes en morceaux. J'ai vu ce type de code ci-dessous

System.IO.FileStream fs = new System.IO.FileStream(textBox2.Text, System.IO.FileMode.Open);
byte[] buf = new byte[BUF_SIZE];
int bytesRead;

//Read the file one kilobyte at a time.
do
{
    bytesRead = fs.Read(buf, 0, BUF_SIZE);               
    //'buf' contains the last 1024 bytes read of the file.

} while (bytesRead == BUF_SIZE);

fs.Close();

}

Mais je ne sais pas comment convertir le bytesRead dans un tableau d'octets que je vais convertir en texte.

EDIT: Réponse trouvée. Voici le code!

 private void button1_Click(object sender, EventArgs e)
    {
        const int MAX_BUFFER = 2048;
        byte[] Buffer = new byte[MAX_BUFFER];
        int BytesRead;
        using (System.IO.FileStream fileStream = new FileStream(textBox2.Text, FileMode.Open, FileAccess.Read))
            while ((BytesRead = fileStream.Read(Buffer, 0, MAX_BUFFER)) != 0)
            {
                string text = (Convert.ToBase64String(Buffer));
                textBox1.Text = text;

            }

}

Pour changer le lisible octets qui sont au format texte, créez un nouveau byte et la rendre égale
(Convertir.FromBase64String(Texte)). Merci à tous!

InformationsquelleAutor Layne3 | 2012-07-22