StreamReader, constructeur (String, Encoding) (System.IO)

Changer de vue:
ScriptFree
Bibliothèque de classes .NET Framework
StreamReader, constructeur (String, Encoding)
Cet article a fait l'objet d'une traduction manuelle. Pour afficher simultanément cette page et le contenu source en anglais, choisissez le paramètre d'affichage Basse densité.

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

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

Visual Basic
Public Sub New ( _
	path As String, _
	encoding As Encoding _
)
C#
public StreamReader(
	string path,
	Encoding encoding
)
VisualC++
public:
StreamReader(
	String^ path, 
	Encoding^ encoding
)
F#
new : 
        path:string * 
        encoding:Encoding -> StreamReader

Paramètres

path
Type : System.String
Chemin d'accès complet au fichier à lire.
encoding
Type : System.Text.Encoding
Encodage de caractères à utiliser.
Exceptions

Exception Condition
ArgumentException

path est une chaîne vide ("").

ArgumentNullException

path ou encoding est null.

FileNotFoundException

Le fichier est introuvable.

DirectoryNotFoundException

Le chemin d'accès spécifié n'est pas valide, il se trouve par exemple sur un lecteur non mappé.

NotSupportedException

path comprend une syntaxe incorrecte ou non valide pour les noms de fichiers, les noms de répertoires ou les noms de volumes.

Notes

Ce constructeur rétablit la taille par défaut de l'encodage, comme spécifié par le paramètre encoding, et affecte à la mémoire tampon interne 1 024 octets. L'objet StreamReader tente de détecter l'encodage en examinant les trois premiers octets du flux. Il reconnaît automatiquement UTF-8, le texte Unicode little-endian et big-endian si le fichier démarre avec les marques d'ordre d'octet appropriées. Sinon, l'encodage fourni par l'utilisateur est utilisé. Pour plus d'informations, consultez la méthode Encoding.GetPreamble.

Le paramètre path peut être un nom de fichier, notamment un fichier sur un partage de convention d'affectation de noms (UNC).

Le paramètre path n'est pas nécessairement un fichier enregistré sur disque, mais peut également être n'importe quelle partie d'un système qui prend en charge l'accès via des flux.

Remarque Attention Attention

Lorsque vous compilez un jeu de caractères avec un paramètre de culture particulier et que vous récupérez ces mêmes caractères avec un paramètre de culture différent, il se peut que les caractères ne puissent pas être interprétés et provoquent la levée d'une exception.

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

Exemples

L'exemple de code suivant illustre ce constructeur StreamReader.

Visual Basic

Private Sub getNewStreamReader()
    Dim S As Stream = File.OpenRead("C:\Temp\Test.txt")
    'Get a new StreamReader in ASCII format from a
    'file using a buffer and byte order mark detection
    Dim SrAsciiFromFileFalse512 As StreamReader = New StreamReader("C:\Temp\Test.txt", _
        System.Text.Encoding.ASCII, False, 512)
    'Get a new StreamReader in ASCII format from a
    'file with byte order mark detection = false
    Dim SrAsciiFromFileFalse As StreamReader = New StreamReader("C:\Temp\Test.txt", _
        System.Text.Encoding.ASCII, False)
    'Get a new StreamReader in ASCII format from a file 
    Dim SrAsciiFromFile As StreamReader = New StreamReader("C:\Temp\Test.txt", _
        System.Text.Encoding.ASCII)
    'Get a new StreamReader from a
    'file with byte order mark detection = false        
    Dim SrFromFileFalse As StreamReader = New StreamReader("C:\Temp\Test.txt", False)
    'Get a new StreamReader from a file
    Dim SrFromFile As StreamReader = New StreamReader("C:\Temp\Test.txt")
    'Get a new StreamReader in ASCII format from a
    'FileStream with byte order mark detection = false and a buffer
    Dim SrAsciiFromStreamFalse512 As StreamReader = New StreamReader(S, _
        System.Text.Encoding.ASCII, False, 512)
    'Get a new StreamReader in ASCII format from a
    'FileStream with byte order mark detection = false
    Dim SrAsciiFromStreamFalse = New StreamReader(S, _
        System.Text.Encoding.ASCII, False)
    'Get a new StreamReader in ASCII format from a FileStream
    Dim SrAsciiFromStream As StreamReader = New StreamReader(S, _
        System.Text.Encoding.ASCII)
    'Get a new StreamReader from a
    'FileStream with byte order mark detection = false
    Dim SrFromStreamFalse As StreamReader = New StreamReader(S, False)
    'Get a new StreamReader from a FileStream
    Dim SrFromStream As StreamReader = New StreamReader(S)

End Sub


C#

private void getNewStreamReader() 
{
    //Get a new StreamReader in ASCII format from a
    //file using a buffer and byte order mark detection
    StreamReader srAsciiFromFileFalse512 = 
        new StreamReader("C:\\Temp\\Test.txt",
        System.Text.Encoding.ASCII, false, 512);
    //Get a new StreamReader in ASCII format from a
    //file with byte order mark detection = false
    StreamReader srAsciiFromFileFalse = 
        new StreamReader("C:\\Temp\\Test.txt",
        System.Text.Encoding.ASCII, false);
    //Get a new StreamReader in ASCII format from a file 
    StreamReader srAsciiFromFile = 
        new StreamReader("C:\\Temp\\Test.txt",
        System.Text.Encoding.ASCII);
    //Get a new StreamReader from a
    //file with byte order mark detection = false
    StreamReader srFromFileFalse = 
        new StreamReader("C:\\Temp\\Test.txt", false);
    //Get a new StreamReader from a file
    StreamReader srFromFile = 
        new StreamReader("C:\\Temp\\Test.txt");
    //Get a new StreamReader in ASCII format from a
    //FileStream with byte order mark detection = false and a buffer
    StreamReader srAsciiFromStreamFalse512 = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
        System.Text.Encoding.ASCII, false, 512);
    //Get a new StreamReader in ASCII format from a
    //FileStream with byte order mark detection = false
    StreamReader srAsciiFromStreamFalse = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
        System.Text.Encoding.ASCII, false);
    //Get a new StreamReader in ASCII format from a FileStream
    StreamReader srAsciiFromStream = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
        System.Text.Encoding.ASCII);
    //Get a new StreamReader from a
    //FileStream with byte order mark detection = false
    StreamReader srFromStreamFalse = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"), 
        false);
    //Get a new StreamReader from a FileStream
    StreamReader srFromStream = new StreamReader(
        (System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"));
}


VisualC++

   void getNewStreamReader()
   {

      //Get a new StreamReader in ASCII format from a
      //file using a buffer and byte order mark detection
      StreamReader^ srAsciiFromFileFalse512 = gcnew StreamReader(  "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII,false,512 );

      //Get a new StreamReader in ASCII format from a
      //file with byte order mark detection = false
      StreamReader^ srAsciiFromFileFalse = gcnew StreamReader(  "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII,false );

      //Get a new StreamReader in ASCII format from a file 
      StreamReader^ srAsciiFromFile = gcnew StreamReader(  "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII );

      //Get a new StreamReader from a
      //file with byte order mark detection = false
      StreamReader^ srFromFileFalse = gcnew StreamReader(  "C:\\Temp\\Test.txt",false );

      //Get a new StreamReader from a file
      StreamReader^ srFromFile = gcnew StreamReader(  "C:\\Temp\\Test.txt" );

      //Get a new StreamReader in ASCII format from a
      //FileStream with byte order mark detection = false and a buffer
      StreamReader^ srAsciiFromStreamFalse512 = gcnew StreamReader( File::OpenRead(  "C:\\Temp\\Test.txt" ),System::Text::Encoding::ASCII,false,512 );

      //Get a new StreamReader in ASCII format from a
      //FileStream with byte order mark detection = false
      StreamReader^ srAsciiFromStreamFalse = gcnew StreamReader( File::OpenRead(  "C:\\Temp\\Test.txt" ),System::Text::Encoding::ASCII,false );

      //Get a new StreamReader in ASCII format from a FileStream
      StreamReader^ srAsciiFromStream = gcnew StreamReader( File::OpenRead(  "C:\\Temp\\Test.txt" ),System::Text::Encoding::ASCII );

      //Get a new StreamReader from a
      //FileStream with byte order mark detection = false
      StreamReader^ srFromStreamFalse = gcnew StreamReader( File::OpenRead(  "C:\\Temp\\Test.txt" ),false );

      //Get a new StreamReader from a FileStream
      StreamReader^ srFromStream = gcnew StreamReader( File::OpenRead(  "C:\\Temp\\Test.txt" ) );
   }




Informations de version

.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
Plateformes

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.
Voir aussi

Référence

Autres ressources