Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

StreamReader classe

 

Date de publication : novembre 2016

Implémente TextReader qui lit les caractères à partir d'un flux d'octets dans un encodage particulier.

Pour parcourir le code source .NET Framework pour ce type, consultez la Reference Source.

Espace de noms:   System.IO
Assembly:  mscorlib (dans mscorlib.dll)

System.Object
  System.MarshalByRefObject
    System.IO.TextReader
      System.IO.StreamReader

[SerializableAttribute]
[ComVisibleAttribute(true)]
public class StreamReader : TextReader

NomDescription
System_CAPS_pubmethodStreamReader(Stream)

Initialise une nouvelle instance de la classe StreamReader pour le flux spécifié.

System_CAPS_pubmethodStreamReader(Stream, Boolean)

Initialise une nouvelle instance de la classe StreamReader pour le flux spécifié, avec l'option de détection de la marque d'ordre d'octet spécifiée.

System_CAPS_pubmethodStreamReader(Stream, Encoding)

Initialise une nouvelle instance de la classe StreamReader pour le flux spécifié, avec l'encodage de caractères spécifié.

System_CAPS_pubmethodStreamReader(Stream, Encoding, Boolean)

Initialise une nouvelle instance de la classe StreamReader pour le flux spécifié, avec l'encodage de caractères et l'option de détection de la marque d'ordre d'octet spécifiés.

System_CAPS_pubmethodStreamReader(Stream, Encoding, Boolean, Int32)

Initialise une nouvelle instance de la classe StreamReader pour le flux spécifié, avec l'encodage de caractères, l'option de détection de la marque d'ordre d'octet et la taille de mémoire tampon spécifiés.

System_CAPS_pubmethodStreamReader(Stream, Encoding, Boolean, Int32, Boolean)

Initialise une nouvelle instance de la classe StreamReader pour le flux spécifié en fonction de l'encodage de caractères, de l'option de détection de la marque d'ordre d'octet et de la taille de mémoire tampon spécifiés, et permet éventuellement de laisser le flux ouvert.

System_CAPS_pubmethodStreamReader(String)

Initialise une nouvelle instance de la classe StreamReader pour le nom de fichier spécifié.

System_CAPS_pubmethodStreamReader(String, Boolean)

Initialise une nouvelle instance de la classe StreamReader pour le nom de fichier spécifié, avec l'option de détection de la marque d'ordre d'octet spécifiée.

System_CAPS_pubmethodStreamReader(String, Encoding)

Initialise une nouvelle instance de la classe StreamReader pour le nom de fichier spécifié, avec l'encodage de caractères spécifié.

System_CAPS_pubmethodStreamReader(String, Encoding, Boolean)

Initialise une nouvelle instance de la classe StreamReader pour le nom de fichier spécifié, avec l'encodage de caractères et l'option de détection de la marque d'ordre d'octet spécifiés.

System_CAPS_pubmethodStreamReader(String, Encoding, Boolean, Int32)

Initialise une nouvelle instance de la classe StreamReader pour le nom de fichier spécifié, avec l'encodage de caractères, l'option de détection de la marque d'ordre d'octet et la taille de mémoire tampon spécifiés.

NomDescription
System_CAPS_pubpropertyBaseStream

Retourne le flux sous-jacent.

System_CAPS_pubpropertyCurrentEncoding

Obtient l'encodage de caractères actuel utilisé par l'objet StreamReader actuel.

System_CAPS_pubpropertyEndOfStream

Obtient une valeur qui indique si la position actuelle dans le flux est à la fin du flux.

NomDescription
System_CAPS_pubmethodClose()

Ferme l'objet StreamReader et le flux sous-jacent, et libère toutes les ressources système associées au lecteur.(Remplace TextReader.Close().)

System_CAPS_pubmethodCreateObjRef(Type)

Crée un objet qui contient toutes les informations requises pour générer un proxy permettant de communiquer avec un objet distant.(Hérité de MarshalByRefObject.)

System_CAPS_pubmethodDiscardBufferedData()

Efface la mémoire tampon interne.

System_CAPS_pubmethodDispose()

Libère toutes les ressources utilisées par l'objet TextReader.(Hérité de TextReader.)

System_CAPS_protmethodDispose(Boolean)

Ferme le flux sous-jacent, libère les ressources non managées utilisées par l'élément StreamReader et libère éventuellement les ressources managées.(Remplace TextReader.Dispose(Boolean).)

System_CAPS_pubmethodEquals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.(Hérité de Object.)

System_CAPS_protmethodFinalize()

Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)

System_CAPS_pubmethodGetHashCode()

Fait office de fonction de hachage par défaut.(Hérité de Object.)

System_CAPS_pubmethodGetLifetimeService()

Récupère l’objet de service de durée de vie actuelle qui contrôle la stratégie de durée de vie de cette instance.(Hérité de MarshalByRefObject.)

System_CAPS_pubmethodGetType()

Obtient le Type de l'instance actuelle.(Hérité de Object.)

System_CAPS_pubmethodInitializeLifetimeService()

Obtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance.(Hérité de MarshalByRefObject.)

System_CAPS_protmethodMemberwiseClone()

Crée une copie superficielle du Object actuel.(Hérité de Object.)

System_CAPS_protmethodMemberwiseClone(Boolean)

Crée une copie superficielle d’actuel MarshalByRefObject objet.(Hérité de MarshalByRefObject.)

System_CAPS_pubmethodPeek()

Retourne le caractère disponible suivant, mais ne le consomme pas.(Remplace TextReader.Peek().)

System_CAPS_pubmethodRead()

Lit le caractère suivant dans le flux d'entrée et avance la position d'un caractère.(Remplace TextReader.Read().)

System_CAPS_pubmethodRead(Char[], Int32, Int32)

Lit un nombre maximal de caractères spécifié du flux actuel dans une mémoire tampon, en commençant à l'index spécifié.(Remplace TextReader.Read(Char[], Int32, Int32).)

System_CAPS_pubmethodReadAsync(Char[], Int32, Int32)

Lit un nombre maximal spécifié de caractères dans le flux actuel de manière asynchrone, et écrit les données dans une mémoire tampon, en commençant à l'index spécifié.(Remplace TextReader.ReadAsync(Char[], Int32, Int32).)

System_CAPS_pubmethodReadBlock(Char[], Int32, Int32)

Lit un nombre maximal spécifié de caractères à partir du flux actuel et écrit les données dans une mémoire tampon, en commençant à l'index spécifié.(Remplace TextReader.ReadBlock(Char[], Int32, Int32).)

System_CAPS_pubmethodReadBlockAsync(Char[], Int32, Int32)

Lit un nombre maximal spécifié de caractères dans le flux actuel de manière asynchrone, et écrit les données dans une mémoire tampon, en commençant à l'index spécifié.(Remplace TextReader.ReadBlockAsync(Char[], Int32, Int32).)

System_CAPS_pubmethodReadLine()

Lit une ligne de caractères du flux actuel et retourne les données sous forme de chaîne.(Remplace TextReader.ReadLine().)

System_CAPS_pubmethodReadLineAsync()

Lit une ligne de caractères de manière asynchrone dans le flux actuel et retourne les données sous forme de chaîne.(Remplace TextReader.ReadLineAsync().)

System_CAPS_pubmethodReadToEnd()

Lit tous les caractères entre la position actuelle et la fin du flux.(Remplace TextReader.ReadToEnd().)

System_CAPS_pubmethodReadToEndAsync()

Lit tous les caractères entre la position actuelle et la fin du flux de manière asynchrone, puis les retourne sous la forme d'une chaîne.(Remplace TextReader.ReadToEndAsync().)

System_CAPS_pubmethodToString()

Retourne une chaîne qui représente l'objet actuel.(Hérité de Object.)

NomDescription
System_CAPS_pubfieldSystem_CAPS_staticNull

Objet StreamReader autour d'un flux vide.

System_CAPS_noteRemarque

Pour afficher le code source .NET Framework pour ce type, consultez la Reference Source. Vous pouvez parcourir le code source en ligne, télécharger la référence hors connexion et parcourir les sources (y compris les correctifs et mises à jour) pendant le débogage ; see instructions.

StreamReader est conçu pour l’entrée de caractères dans un encodage particulier, tandis que la Stream classe est conçue pour l’entrée et de sortie d’octets. Utilisez StreamReader pour lire des lignes d’informations à partir d’un fichier texte standard.

System_CAPS_importantImportant

Ce type implémente le IDisposable interface. Lorsque vous avez fini d'utiliser le type, vous devez supprimer de celui-ci, directement ou indirectement. Pour supprimer le type directement, appelez sa Dispose méthode dans un try/catch bloc. Pour la supprimer indirectement, utiliser une construction de langage telles que using (en c#) ou Using (en Visual Basic). Pour plus d'informations, consultez la section « Utilisant un objet qui implémente IDisposable » dans la IDisposable rubrique de l'interface.

StreamReader par défaut, sauf indication contraire, au lieu de la valeur par défaut : la page de codes ANSI pour le système actuel de codage UTF-8. UTF-8 gère correctement les caractères Unicode et fournit des résultats cohérents sur les versions localisées du système d’exploitation. Si vous obtenez l’encodage de caractères actuel à l’aide de la CurrentEncoding propriété, la valeur n’est pas fiable jusqu’après la première Read (méthode), la détection automatique d’encodage n’est effectuée qu’au premier appel à une Read méthode.

Par défaut, un StreamReader n’est pas thread-safe. Consultez TextReader.Synchronized pour un wrapper thread-safe.

Le Read(Char[], Int32, Int32) et Write(Char[], Int32, Int32) les surcharges de méthode lire et écrire le nombre de caractères spécifié par le count paramètre. Ils doivent être distingués des BufferedStream.Read et BufferedStream.Write, qui lisent et écrivent le nombre d’octets spécifié par le count paramètre. Utilisez le BufferedStream méthodes uniquement pour lire et écrire des éléments de tableau d’un nombre entier d’octets.

System_CAPS_noteRemarque

Lors de la lecture d’un Stream, il est plus efficace d’utiliser une mémoire tampon de la même taille que la mémoire tampon interne du flux.

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

L’exemple suivant utilise une instance de StreamReader pour lire un fichier texte. Le constructeur utilisé dans cet exemple n’est pas pris en charge pour une utilisation dans Windows Store applications.

using System;
using System.IO;

class Test 
{
    public static void Main() 
    {
        try 
        {
            // Create an instance of StreamReader to read from a file.
            // The using statement also closes the StreamReader.
            using (StreamReader sr = new StreamReader("TestFile.txt")) 
            {
                string line;
                // Read and display lines from the file until the end of 
                // the file is reached.
                while ((line = sr.ReadLine()) != null) 
                {
                    Console.WriteLine(line);
                }
            }
        }
        catch (Exception e) 
        {
            // Let the user know what went wrong.
            Console.WriteLine("The file could not be read:");
            Console.WriteLine(e.Message);
        }
    }
}

L’exemple suivant instancie un StreamReader objet et appelle son ReadAsync méthode pour lire un fichier de façon asynchrone.

using System;
using System.IO;
using System.Threading.Tasks;

class Example
{
    public static void Main()
    {
        ReadAndDisplayFilesAsync();
    }

    private async static void ReadAndDisplayFilesAsync()
    {
        String filename = "TestFile1.txt";
        Char[] buffer;

        using (var sr = new StreamReader(filename)) {
            buffer = new Char[(int)sr.BaseStream.Length];
            await sr.ReadAsync(buffer, 0, (int)sr.BaseStream.Length);
        }

        Console.WriteLine(new String(buffer));
    }
}
// The example displays the following output:
//       This is the first line of text in a relatively short file.
//       This is the second line.
//       This is the third line.
//       This is the fourth and final line.

Plateforme Windows universelle
Disponible depuis 8
.NET Framework
Disponible depuis 1.1
Bibliothèque de classes portable
Pris en charge dans : plateformes .NET portables
Silverlight
Disponible depuis 2.0
Silverlight pour Windows Phone
Disponible depuis 7.0
Windows Phone
Disponible depuis 8.1

Tous les membres statiques publics ( Shared en Visual Basic) de ce type sont thread-safe. Les membres d’instance n’ont pas la garantie d’être thread-safe.

Retour au début
Afficher: