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.ReadLine, méthode

Lit une ligne de caractères à partir du flux en cours et retourne les données sous forme de chaîne.

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

Valeur de retour

Type : System.String
La ligne suivante du flux d'entrée ou null si la fin du flux d'entrée est atteinte.
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.

Une ligne est définie comme une séquence de caractères suivie d'un saut de ligne ("\n"), d'un retour chariot ("\r"), ou d'un retour chariot immédiatement suivi d'un saut de ligne ("\r\n"). La chaîne retournée ne comprend pas le retour chariot ou le saut de ligne de fin. La valeur retournée est null si la fin du flux d'entrée est atteinte.

Cette méthode substitue ReadLine.

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 les lignes d'un fichier jusqu'à ce que la fin du fichier soit atteinte.


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)) 
            {
                while (sr.Peek() >= 0) 
                {
                    Console.WriteLine(sr.ReadLine());
                }
            }
        } 
        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

Informations ajoutées sur l'appel de DiscardBufferedData.

Améliorations apportées aux informations.

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