Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte.
Traduction
Source
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

StreamReader.ReadToEnd, méthode

Lit le flux entre la position actuelle et la fin du flux.

Espace de noms :  System.IO
Assembly :  mscorlib (dans mscorlib.dll)
public override string ReadToEnd()

Valeur de retour

Type : System.String
Le reste du flux comme une chaîne, de la position actuelle jusqu'à la fin. Si la position actuelle est à la fin du flux, retourne une chaîne vide ("").
Exception Condition
OutOfMemoryException

La mémoire disponible est insuffisante pour allouer une mémoire tampon pour la chaîne retournée.

IOException

Une erreur d'E/S s'est produite.

Cette méthode substitue TextReader.ReadToEnd.

ReadToEnd fonctionne mieux lorsque vous devez lire toutes les entrées de la position actuelle jusqu'à la fin du flux. Si plus de contrôle est nécessaire sur le nombre de caractères lus à partir du flux, utilisez la surcharge de la méthode Read(Char[], Int32, Int32), qui offre généralement de meilleures performances.

ReadToEnd suppose que le flux sait lorsqu'il a atteint une fin. Pour les protocoles interactifs, dans lesquels le serveur envoie les données sur votre demande seulement et ne ferme pas la connexion, ReadToEnd peut se bloquer indéfiniment parce qu'il ne peut pas atteindre une terminaison et doit être évité.

Notez que lorsque vous utilisez la méthode Read, il est plus efficace d'utiliser une mémoire tampon qui soit de la même taille que la mémoire tampon interne du flux. Si la taille de la mémoire tampon n'a pas été spécifiée lors de la construction du flux, sa taille par défaut est de 4 kilo-octets (4 096 octets).

Si la méthode actuelle lève OutOfMemoryException, la position du lecteur dans l'objet Stream sous-jacent est avancée du nombre de caractères que la méthode a pu lire, mais les caractères déjà lus dans la mémoire tampon interne de ReadLine sont ignorés. Si vous manipulez la position du flux sous-jacent après avoir lu les données dans la mémoire tampon, la position du flux sous-jacent peut ne pas correspondre à la position de la mémoire tampon interne. Pour réinitialiser la mémoire tampon interne, appelez la méthode DiscardBufferedData ; toutefois, cette méthode ralentit les performances et doit être appelée uniquement en cas d'absolue nécessité.

Pour obtenir la liste des tâches d'E/S courantes, consultez Tâches d'E/S courantes.

L'exemple de code suivant lit l'intégralité d'un fichier jusqu'à la fin en une seule opération.


using System;
using System.IO;

class Test 
{
	
    public static void Main() 
    {
        string path = @"c:\temp\MyTest.txt";

        try 
        {
            if (File.Exists(path)) 
            {
                File.Delete(path);
            }

            using (StreamWriter sw = new StreamWriter(path)) 
            {
                sw.WriteLine("This");
                sw.WriteLine("is some text");
                sw.WriteLine("to test");
                sw.WriteLine("Reading");
            }

            using (StreamReader sr = new StreamReader(path)) 
            {
                //This allows you to do one Read operation.
                Console.WriteLine(sr.ReadToEnd());
            }
        } 
        catch (Exception e) 
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
    }
}


.NET Framework

Pris en charge dans : 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Pris en charge dans :

Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows XP SP2 Édition x64, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Date

Historique

Motif

Décembre 2010

Condition de blocage clarifiée.

Commentaires client.

Cela vous a-t-il été utile ?
(1500 caractères restants)
Contenu de la communauté Ajouter
Annotations FAQ