StreamReader Construtores
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Inicializa uma nova instância da classe StreamReader para o fluxo especificado.
Sobrecargas
StreamReader(Stream) |
Inicializa uma nova instância da classe StreamReader para o fluxo especificado. |
StreamReader(Stream, Encoding, Boolean, Int32, Boolean) |
Inicializa uma nova instância da classe StreamReader para o fluxo especificado com base na codificação de caractere especificada, na opção de detecção de marca de ordem de byte, no tamanho do buffer e, opcionalmente, deixa o fluxo aberto. |
StreamReader(String, Encoding, Boolean, FileStreamOptions) |
Inicializa uma nova instância da StreamReader classe para o caminho de arquivo especificado, com a codificação de caractere especificada, a opção de detecção de marca de ordem de byte e configurada com o objeto especificado FileStreamOptions . |
StreamReader(String, Encoding, Boolean, Int32) |
Inicializa uma nova instância da classe StreamReader para o nome de arquivo especificado, com a codificação de caracteres, a opção de detecção de marca de ordem de byte e o tamanho do buffer especificados. |
StreamReader(Stream, Encoding, Boolean, Int32) |
Inicializa uma nova instância da classe StreamReader para o fluxo especificado, com a codificação de caracteres, a opção de detecção de marca de ordem de byte e o tamanho do buffer especificados. |
StreamReader(Stream, Encoding, Boolean) |
Inicializa uma nova instância da classe StreamReader para o fluxo especificado, com a codificação de caracteres e a opção de detecção de marca de ordem de byte especificadas. |
StreamReader(String, Encoding, Boolean) |
Inicializa uma nova instância da classe StreamReader para o nome de arquivo especificado, com a codificação de caractere e opção de detecção da marca da ordem de byte especificada. |
StreamReader(String, FileStreamOptions) |
Inicializa uma nova instância da StreamReader classe para o caminho de arquivo especificado, usando a codificação padrão, habilitando a detecção de marcas de ordem de bytes no início do arquivo e configurada com o objeto especificado FileStreamOptions . |
StreamReader(String, Boolean) |
Inicializa uma nova instância da classe StreamReader do nome do arquivo especificado, com a opção de detecção de marca de ordem de byte especificada. |
StreamReader(Stream, Encoding) |
Inicializa uma nova instância da classe StreamReader para o fluxo especificado, com a codificação de caractere especificada. |
StreamReader(Stream, Boolean) |
Inicializa uma nova instância da classe StreamReader para o fluxo especificado, com a opção de detecção da marca da ordem de byte especificada. |
StreamReader(String) |
Inicializa uma nova instância da classe StreamReader para o nome de arquivo especificado. |
StreamReader(String, Encoding) |
Inicializa uma nova instância da classe StreamReader para o nome de arquivo especificado, com a codificação de caractere especificada. |
StreamReader(Stream)
- Origem:
- StreamReader.cs
- Origem:
- StreamReader.cs
- Origem:
- StreamReader.cs
Inicializa uma nova instância da classe StreamReader para o fluxo especificado.
public:
StreamReader(System::IO::Stream ^ stream);
public StreamReader (System.IO.Stream stream);
new System.IO.StreamReader : System.IO.Stream -> System.IO.StreamReader
Public Sub New (stream As Stream)
Parâmetros
- stream
- Stream
O fluxo a ser lido.
Exceções
stream
não dá suporte à leitura.
stream
é null
.
Exemplos
O exemplo de código a seguir demonstra esse StreamReader construtor.
using namespace System;
using namespace System::IO;
int main()
{
String^ path = "c:\\temp\\MyTest.txt";
try
{
if ( File::Exists( path ) )
{
File::Delete( path );
}
StreamWriter^ sw = gcnew StreamWriter( path );
try
{
sw->WriteLine( "This" );
sw->WriteLine( "is some text" );
sw->WriteLine( "to test" );
sw->WriteLine( "Reading" );
}
finally
{
delete sw;
}
FileStream^ fs = gcnew FileStream( path,FileMode::Open );
try
{
StreamReader^ sr = gcnew StreamReader( fs );
try
{
while ( sr->Peek() >= 0 )
{
Console::WriteLine( sr->ReadLine() );
}
}
finally
{
delete sr;
}
}
finally
{
delete fs;
}
}
catch ( Exception^ e )
{
Console::WriteLine( "The process failed: {0}", e );
}
}
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(new FileStream(path, FileMode.CreateNew)))
{
sw.WriteLine("This");
sw.WriteLine("is some text");
sw.WriteLine("to test");
sw.WriteLine("reading");
}
using (StreamReader sr = new StreamReader(new FileStream(path, FileMode.Open)))
{
while (sr.Peek() >= 0)
{
Console.WriteLine(sr.ReadLine());
}
}
}
catch (Exception e)
{
Console.WriteLine("The process failed: {0}", e.ToString());
}
}
}
Imports System.IO
Public Class Test
Public Shared Sub Main()
Dim path As String = "c:\temp\MyTest.txt"
Try
If File.Exists(path) Then
File.Delete(path)
End If
Dim sw As StreamWriter = New StreamWriter(path)
sw.WriteLine("This")
sw.WriteLine("is some text")
sw.WriteLine("to test")
sw.WriteLine("Reading")
sw.Close()
Dim fs As FileStream = New FileStream(path, FileMode.Open)
Dim sr As StreamReader = New StreamReader(fs)
Do While sr.Peek() >= 0
Console.WriteLine(sr.ReadLine())
Loop
sr.Close()
fs.Close()
Catch e As Exception
Console.WriteLine("The process failed: {0}", e.ToString())
End Try
End Sub
End Class
Comentários
Esse construtor inicializa a codificação para UTF8Encoding, a BaseStream propriedade usando o stream
parâmetro e o tamanho do buffer interno para 1024 bytes.
O StreamReader objeto chama Dispose() no objeto fornecido Stream quando StreamReader.Dispose é chamado.
Cuidado
Quando você compila um conjunto de caracteres com uma configuração cultural específica e recupera esses mesmos caracteres com uma configuração cultural diferente, os caracteres podem não ser interpretáveis e podem fazer com que uma exceção seja gerada.
Para obter uma lista de tarefas comuns de E/S, consulte Tarefas comuns de E/S.
Confira também
Aplica-se a
StreamReader(Stream, Encoding, Boolean, Int32, Boolean)
- Origem:
- StreamReader.cs
- Origem:
- StreamReader.cs
- Origem:
- StreamReader.cs
Inicializa uma nova instância da classe StreamReader para o fluxo especificado com base na codificação de caractere especificada, na opção de detecção de marca de ordem de byte, no tamanho do buffer e, opcionalmente, deixa o fluxo aberto.
public:
StreamReader(System::IO::Stream ^ stream, System::Text::Encoding ^ encoding, bool detectEncodingFromByteOrderMarks, int bufferSize, bool leaveOpen);
public StreamReader (System.IO.Stream stream, System.Text.Encoding encoding, bool detectEncodingFromByteOrderMarks, int bufferSize, bool leaveOpen);
public StreamReader (System.IO.Stream stream, System.Text.Encoding? encoding = default, bool detectEncodingFromByteOrderMarks = true, int bufferSize = -1, bool leaveOpen = false);
new System.IO.StreamReader : System.IO.Stream * System.Text.Encoding * bool * int * bool -> System.IO.StreamReader
Public Sub New (stream As Stream, encoding As Encoding, detectEncodingFromByteOrderMarks As Boolean, bufferSize As Integer, leaveOpen As Boolean)
Public Sub New (stream As Stream, Optional encoding As Encoding = Nothing, Optional detectEncodingFromByteOrderMarks As Boolean = true, Optional bufferSize As Integer = -1, Optional leaveOpen As Boolean = false)
Parâmetros
- stream
- Stream
O fluxo a ser lido.
- encoding
- Encoding
A codificação de caracteres a ser usada.
- detectEncodingFromByteOrderMarks
- Boolean
true
para procurar marcas de ordem de byte no início do arquivo; caso contrário, false
.
- bufferSize
- Int32
O tamanho mínimo do buffer.
- leaveOpen
- Boolean
true
para deixar o fluxo aberto após o objeto StreamReader ser descartado; caso contrário, false
.
Comentários
A menos que você defina o leaveOpen
parâmetro como true
, o StreamReader objeto chama Dispose() no objeto fornecido Stream quando StreamReader.Dispose é chamado.
O tamanho do buffer, em número de caracteres de 16 bits, é definido pelo bufferSize
parâmetro . Se bufferSize
for menor que o tamanho mínimo permitido (128 caracteres), o tamanho mínimo permitido será usado.
Esse construtor permite que você altere a codificação na primeira vez que ler do StreamReader objeto. Se o detectEncodingFromByteOrderMarks
parâmetro for true
, o construtor detectará a codificação examinando os quatro primeiros bytes do fluxo. Ele reconhece automaticamente o texto UTF-8, UTF-16, UTF-16, UTF-32 little-endian e UTF-32 big-endian se o arquivo começar com as marcas de ordem de bytes apropriadas. Caso contrário, a codificação fornecida pelo usuário será usada. Consulte o método Encoding.GetPreamble para obter mais informações.
Observação
Ao ler de um Stream, é mais eficiente usar um buffer do mesmo tamanho que o buffer interno do fluxo.
Cuidado
Quando você compila um conjunto de caracteres com uma configuração cultural específica e recupera esses mesmos caracteres com uma configuração cultural diferente, os caracteres podem não ser interpretados corretamente e podem fazer com que uma exceção seja gerada.
Aplica-se a
StreamReader(String, Encoding, Boolean, FileStreamOptions)
- Origem:
- StreamReader.cs
- Origem:
- StreamReader.cs
- Origem:
- StreamReader.cs
Inicializa uma nova instância da StreamReader classe para o caminho de arquivo especificado, com a codificação de caractere especificada, a opção de detecção de marca de ordem de byte e configurada com o objeto especificado FileStreamOptions .
public:
StreamReader(System::String ^ path, System::Text::Encoding ^ encoding, bool detectEncodingFromByteOrderMarks, System::IO::FileStreamOptions ^ options);
public StreamReader (string path, System.Text.Encoding encoding, bool detectEncodingFromByteOrderMarks, System.IO.FileStreamOptions options);
new System.IO.StreamReader : string * System.Text.Encoding * bool * System.IO.FileStreamOptions -> System.IO.StreamReader
Public Sub New (path As String, encoding As Encoding, detectEncodingFromByteOrderMarks As Boolean, options As FileStreamOptions)
Parâmetros
- path
- String
O caminho completo do arquivo a ser lido.
- encoding
- Encoding
A codificação de caracteres a ser usada.
- detectEncodingFromByteOrderMarks
- Boolean
Indica se é necessário procurar marcas de ordem de byte no início do arquivo.
- options
- FileStreamOptions
Um objeto que especifica as opções de configuração para o subjacente FileStream.
Exceções
path
, encoding
ou options
é null
.
Não é possível encontrar o arquivo.
O caminho especificado é inválido, por exemplo, ele está em uma unidade não mapeada.
path
inclui uma sintaxe incorreta ou inválida para o nome do arquivo, nome do diretório ou rótulo do volume.
Confira também
Aplica-se a
StreamReader(String, Encoding, Boolean, Int32)
- Origem:
- StreamReader.cs
- Origem:
- StreamReader.cs
- Origem:
- StreamReader.cs
Inicializa uma nova instância da classe StreamReader para o nome de arquivo especificado, com a codificação de caracteres, a opção de detecção de marca de ordem de byte e o tamanho do buffer especificados.
public:
StreamReader(System::String ^ path, System::Text::Encoding ^ encoding, bool detectEncodingFromByteOrderMarks, int bufferSize);
public StreamReader (string path, System.Text.Encoding encoding, bool detectEncodingFromByteOrderMarks, int bufferSize);
new System.IO.StreamReader : string * System.Text.Encoding * bool * int -> System.IO.StreamReader
Public Sub New (path As String, encoding As Encoding, detectEncodingFromByteOrderMarks As Boolean, bufferSize As Integer)
Parâmetros
- path
- String
O caminho completo do arquivo a ser lido.
- encoding
- Encoding
A codificação de caracteres a ser usada.
- detectEncodingFromByteOrderMarks
- Boolean
Indica se é necessário procurar marcas de ordem de byte no início do arquivo.
- bufferSize
- Int32
O tamanho do buffer mínimo, em número de caracteres de 16 bits.
Exceções
path
é uma cadeia de caracteres vazia ("").
path
ou encoding
é null
.
Não é possível encontrar o arquivo.
O caminho especificado é inválido, por exemplo, ele está em uma unidade não mapeada.
path
inclui uma sintaxe incorreta ou inválida para o nome do arquivo, nome do diretório ou rótulo do volume.
buffersize
é menor que ou igual a zero.
Exemplos
O exemplo de código a seguir demonstra esse StreamReader construtor.
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" ) );
}
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"));
}
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
Comentários
Esse construtor inicializa a codificação conforme especificado pelo encoding
parâmetro .
Esse construtor permite que você altere a codificação na primeira vez que ler do StreamReader objeto. O detectEncodingFromByteOrderMarks
parâmetro detecta a codificação examinando os quatro primeiros bytes do fluxo. Ele reconhece automaticamente o texto UTF-8, UTF-16, UTF-16, UTF-32 little-endian e UTF-32 big-endian se o arquivo começar com as marcas de ordem de bytes apropriadas. Caso contrário, a codificação fornecida pelo usuário será usada. Consulte o método Encoding.GetPreamble para obter mais informações.
O tamanho do buffer, em número de caracteres de 16 bits, é definido pelo bufferSize
parâmetro . Se bufferSize
for menor que o tamanho mínimo permitido (128 caracteres), o tamanho mínimo permitido será usado.
O path
parâmetro pode ser um nome de arquivo, incluindo um arquivo em um compartilhamento UNC (Convenção Universal de Nomenclatura).
O path
parâmetro não é necessário para ser um arquivo armazenado em disco; ele pode ser qualquer parte de um sistema que dê suporte ao acesso usando fluxos.
Cuidado
Quando você compila um conjunto de caracteres com uma configuração cultural específica e recupera esses mesmos caracteres com uma configuração cultural diferente, os caracteres podem não ser interpretáveis e podem fazer com que uma exceção seja gerada.
Para obter uma lista de tarefas comuns de E/S, consulte Tarefas comuns de E/S.
Confira também
Aplica-se a
StreamReader(Stream, Encoding, Boolean, Int32)
- Origem:
- StreamReader.cs
- Origem:
- StreamReader.cs
- Origem:
- StreamReader.cs
Inicializa uma nova instância da classe StreamReader para o fluxo especificado, com a codificação de caracteres, a opção de detecção de marca de ordem de byte e o tamanho do buffer especificados.
public:
StreamReader(System::IO::Stream ^ stream, System::Text::Encoding ^ encoding, bool detectEncodingFromByteOrderMarks, int bufferSize);
public StreamReader (System.IO.Stream stream, System.Text.Encoding encoding, bool detectEncodingFromByteOrderMarks, int bufferSize);
new System.IO.StreamReader : System.IO.Stream * System.Text.Encoding * bool * int -> System.IO.StreamReader
Public Sub New (stream As Stream, encoding As Encoding, detectEncodingFromByteOrderMarks As Boolean, bufferSize As Integer)
Parâmetros
- stream
- Stream
O fluxo a ser lido.
- encoding
- Encoding
A codificação de caracteres a ser usada.
- detectEncodingFromByteOrderMarks
- Boolean
Indica se é necessário procurar marcas de ordem de byte no início do arquivo.
- bufferSize
- Int32
O tamanho mínimo do buffer.
Exceções
Não há suporte para leitura no fluxo.
stream
ou encoding
é null
.
bufferSize
é menor que ou igual a zero.
Exemplos
O exemplo de código a seguir demonstra esse StreamReader construtor.
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" ) );
}
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"));
}
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
Comentários
O tamanho do buffer, em número de caracteres de 16 bits, é definido pelo bufferSize
parâmetro . Se bufferSize
for menor que o tamanho mínimo permitido (128 caracteres), o tamanho mínimo permitido será usado.
Esse construtor permite que você altere a codificação na primeira vez que ler do StreamReader objeto. O detectEncodingFromByteOrderMarks
parâmetro detecta a codificação examinando os quatro primeiros bytes do fluxo. Ele reconhece automaticamente o texto UTF-8, UTF-16, UTF-16, UTF-32 little-endian e UTF-32 big-endian se o arquivo começar com as marcas de ordem de bytes apropriadas. Caso contrário, a codificação fornecida pelo usuário será usada. Consulte o método Encoding.GetPreamble para obter mais informações.
O StreamReader objeto chama Dispose() no objeto fornecido Stream quando StreamReader.Dispose é chamado.
Observação
Ao ler de um Stream, é mais eficiente usar um buffer do mesmo tamanho que o buffer interno do fluxo.
Cuidado
Quando você compila um conjunto de caracteres com uma configuração cultural específica e recupera esses mesmos caracteres com uma configuração cultural diferente, os caracteres podem não ser interpretáveis e podem fazer com que uma exceção seja gerada.
Para obter uma lista de tarefas comuns de E/S, consulte Tarefas comuns de E/S.
Confira também
Aplica-se a
StreamReader(Stream, Encoding, Boolean)
- Origem:
- StreamReader.cs
- Origem:
- StreamReader.cs
- Origem:
- StreamReader.cs
Inicializa uma nova instância da classe StreamReader para o fluxo especificado, com a codificação de caracteres e a opção de detecção de marca de ordem de byte especificadas.
public:
StreamReader(System::IO::Stream ^ stream, System::Text::Encoding ^ encoding, bool detectEncodingFromByteOrderMarks);
public StreamReader (System.IO.Stream stream, System.Text.Encoding encoding, bool detectEncodingFromByteOrderMarks);
new System.IO.StreamReader : System.IO.Stream * System.Text.Encoding * bool -> System.IO.StreamReader
Public Sub New (stream As Stream, encoding As Encoding, detectEncodingFromByteOrderMarks As Boolean)
Parâmetros
- stream
- Stream
O fluxo a ser lido.
- encoding
- Encoding
A codificação de caracteres a ser usada.
- detectEncodingFromByteOrderMarks
- Boolean
Indica se é necessário procurar marcas de ordem de byte no início do arquivo.
Exceções
stream
não dá suporte à leitura.
stream
ou encoding
é null
.
Exemplos
O exemplo de código a seguir demonstra esse StreamReader construtor.
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" ) );
}
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"));
}
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
Comentários
Esse construtor inicializa a codificação conforme especificado pelo encoding
parâmetro , a BaseStream propriedade que usa o stream
parâmetro e o tamanho do buffer interno para 1024 bytes.
O detectEncodingFromByteOrderMarks
parâmetro detecta a codificação examinando os quatro primeiros bytes do fluxo. Ele reconhece automaticamente o texto UTF-8, UTF-16, UTF-16, UTF-32 little-endian e UTF-32 big-endian se o arquivo começar com as marcas de ordem de bytes apropriadas. Caso contrário, a codificação fornecida pelo usuário será usada. Consulte o método Encoding.GetPreamble para obter mais informações.
O StreamReader objeto chama Dispose() no objeto fornecido Stream quando StreamReader.Dispose é chamado.
Cuidado
Quando você compila um conjunto de caracteres com uma configuração cultural específica e recupera esses mesmos caracteres com uma configuração cultural diferente, os caracteres podem não ser interpretáveis e podem fazer com que uma exceção seja gerada.
Para obter uma lista de tarefas comuns de E/S, consulte Tarefas comuns de E/S.
Confira também
Aplica-se a
StreamReader(String, Encoding, Boolean)
- Origem:
- StreamReader.cs
- Origem:
- StreamReader.cs
- Origem:
- StreamReader.cs
Inicializa uma nova instância da classe StreamReader para o nome de arquivo especificado, com a codificação de caractere e opção de detecção da marca da ordem de byte especificada.
public:
StreamReader(System::String ^ path, System::Text::Encoding ^ encoding, bool detectEncodingFromByteOrderMarks);
public StreamReader (string path, System.Text.Encoding encoding, bool detectEncodingFromByteOrderMarks);
new System.IO.StreamReader : string * System.Text.Encoding * bool -> System.IO.StreamReader
Public Sub New (path As String, encoding As Encoding, detectEncodingFromByteOrderMarks As Boolean)
Parâmetros
- path
- String
O caminho completo do arquivo a ser lido.
- encoding
- Encoding
A codificação de caracteres a ser usada.
- detectEncodingFromByteOrderMarks
- Boolean
Indica se é necessário procurar marcas de ordem de byte no início do arquivo.
Exceções
path
é uma cadeia de caracteres vazia ("").
path
ou encoding
é null
.
Não é possível encontrar o arquivo.
O caminho especificado é inválido, por exemplo, ele está em uma unidade não mapeada.
path
inclui uma sintaxe incorreta ou inválida para o nome do arquivo, nome do diretório ou rótulo do volume.
Exemplos
O exemplo de código a seguir demonstra esse StreamReader construtor.
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" ) );
}
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"));
}
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
Comentários
Esse construtor inicializa a codificação conforme especificado pelo encoding
parâmetro e o tamanho do buffer interno para 1024 bytes.
O detectEncodingFromByteOrderMarks
parâmetro detecta a codificação examinando os quatro primeiros bytes do fluxo. Ele reconhece automaticamente o texto UTF-8, UTF-16, UTF-16, UTF-32 little-endian e UTF-32 big-endian se o arquivo começar com as marcas de ordem de bytes apropriadas. Caso contrário, a codificação fornecida pelo usuário será usada. Consulte o método Encoding.GetPreamble para obter mais informações.
O path
parâmetro pode ser um nome de arquivo, incluindo um arquivo em um compartilhamento UNC (Convenção Universal de Nomenclatura).
O path
parâmetro não é necessário para ser um arquivo armazenado em disco; ele pode ser qualquer parte de um sistema que dê suporte ao acesso usando fluxos.
Cuidado
Quando você compila um conjunto de caracteres com uma configuração cultural específica e recupera esses mesmos caracteres com uma configuração cultural diferente, os caracteres podem não ser interpretáveis e podem fazer com que uma exceção seja gerada.
Para obter uma lista de tarefas comuns de E/S, consulte Tarefas comuns de E/S.
Confira também
Aplica-se a
StreamReader(String, FileStreamOptions)
- Origem:
- StreamReader.cs
- Origem:
- StreamReader.cs
- Origem:
- StreamReader.cs
Inicializa uma nova instância da StreamReader classe para o caminho de arquivo especificado, usando a codificação padrão, habilitando a detecção de marcas de ordem de bytes no início do arquivo e configurada com o objeto especificado FileStreamOptions .
public:
StreamReader(System::String ^ path, System::IO::FileStreamOptions ^ options);
public StreamReader (string path, System.IO.FileStreamOptions options);
new System.IO.StreamReader : string * System.IO.FileStreamOptions -> System.IO.StreamReader
Public Sub New (path As String, options As FileStreamOptions)
Parâmetros
- path
- String
O caminho completo do arquivo a ser lido.
- options
- FileStreamOptions
Um objeto que especifica as opções de configuração para o subjacente FileStream.
Exceções
stream
não é legível.
- ou -
<code data-dev-comment-type="paramref">path</code> is an empty string ("").
path
ou options
é null
.
Não é possível encontrar o arquivo.
O caminho especificado é inválido, por exemplo, ele está em uma unidade não mapeada.
path
inclui uma sintaxe incorreta ou inválida para o nome do arquivo, nome do diretório ou rótulo do volume.
Confira também
Aplica-se a
StreamReader(String, Boolean)
- Origem:
- StreamReader.cs
- Origem:
- StreamReader.cs
- Origem:
- StreamReader.cs
Inicializa uma nova instância da classe StreamReader do nome do arquivo especificado, com a opção de detecção de marca de ordem de byte especificada.
public:
StreamReader(System::String ^ path, bool detectEncodingFromByteOrderMarks);
public StreamReader (string path, bool detectEncodingFromByteOrderMarks);
new System.IO.StreamReader : string * bool -> System.IO.StreamReader
Public Sub New (path As String, detectEncodingFromByteOrderMarks As Boolean)
Parâmetros
- path
- String
O caminho completo do arquivo a ser lido.
- detectEncodingFromByteOrderMarks
- Boolean
Indica se é necessário procurar marcas de ordem de byte no início do arquivo.
Exceções
path
é uma cadeia de caracteres vazia ("").
path
é null
.
Não é possível encontrar o arquivo.
O caminho especificado é inválido, por exemplo, ele está em uma unidade não mapeada.
path
inclui uma sintaxe incorreta ou inválida para o nome do arquivo, nome do diretório ou rótulo do volume.
Exemplos
O exemplo de código a seguir demonstra esse StreamReader construtor.
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" ) );
}
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"));
}
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
Comentários
Esse construtor inicializa a codificação para UTF8Encoding, a BaseStream propriedade usando o stream
parâmetro e o tamanho do buffer interno para 1024 bytes.
O path
parâmetro pode ser um nome de arquivo, incluindo um arquivo em um compartilhamento UNC (Convenção Universal de Nomenclatura).
O path
parâmetro não é necessário para ser um arquivo armazenado em disco; ele pode ser qualquer parte de um sistema que dê suporte ao acesso usando fluxos.
O detectEncodingFromByteOrderMarks
parâmetro detecta a codificação examinando os quatro primeiros bytes do fluxo. Ele reconhece automaticamente o texto UTF-8, UTF-16, UTF-16, UTF-32 little-endian e UTF-32 big-endian se o arquivo começar com as marcas de ordem de bytes apropriadas. Caso contrário, o UTF8Encoding será usado. Consulte o método Encoding.GetPreamble para obter mais informações.
Para obter uma lista de tarefas comuns de E/S, consulte Tarefas comuns de E/S.
Confira também
Aplica-se a
StreamReader(Stream, Encoding)
- Origem:
- StreamReader.cs
- Origem:
- StreamReader.cs
- Origem:
- StreamReader.cs
Inicializa uma nova instância da classe StreamReader para o fluxo especificado, com a codificação de caractere especificada.
public:
StreamReader(System::IO::Stream ^ stream, System::Text::Encoding ^ encoding);
public StreamReader (System.IO.Stream stream, System.Text.Encoding encoding);
new System.IO.StreamReader : System.IO.Stream * System.Text.Encoding -> System.IO.StreamReader
Public Sub New (stream As Stream, encoding As Encoding)
Parâmetros
- stream
- Stream
O fluxo a ser lido.
- encoding
- Encoding
A codificação de caracteres a ser usada.
Exceções
stream
não dá suporte à leitura.
stream
ou encoding
é null
.
Exemplos
O exemplo de código a seguir demonstra esse StreamReader construtor.
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" ) );
}
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"));
}
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
Comentários
A codificação de caracteres é definida pelo encoding
parâmetro e o tamanho do buffer é definido como 1024 bytes. O StreamReader objeto tenta detectar a codificação examinando os quatro primeiros bytes do fluxo. Ele reconhece automaticamente o texto UTF-8, UTF-16, UTF-16, UTF-32 little-endian e UTF-32 big-endian se o arquivo começar com as marcas de ordem de bytes apropriadas. Caso contrário, a codificação fornecida pelo usuário será usada. Consulte o método Encoding.GetPreamble para obter mais informações.
O StreamReader objeto chama Dispose() no objeto fornecido Stream quando StreamReader.Dispose é chamado.
Cuidado
Quando você compila um conjunto de caracteres com uma configuração cultural específica e recupera esses mesmos caracteres com uma configuração cultural diferente, os caracteres podem não ser interpretáveis e podem fazer com que uma exceção seja gerada.
Para obter uma lista de tarefas comuns de E/S, consulte Tarefas comuns de E/S.
Confira também
Aplica-se a
StreamReader(Stream, Boolean)
- Origem:
- StreamReader.cs
- Origem:
- StreamReader.cs
- Origem:
- StreamReader.cs
Inicializa uma nova instância da classe StreamReader para o fluxo especificado, com a opção de detecção da marca da ordem de byte especificada.
public:
StreamReader(System::IO::Stream ^ stream, bool detectEncodingFromByteOrderMarks);
public StreamReader (System.IO.Stream stream, bool detectEncodingFromByteOrderMarks);
new System.IO.StreamReader : System.IO.Stream * bool -> System.IO.StreamReader
Public Sub New (stream As Stream, detectEncodingFromByteOrderMarks As Boolean)
Parâmetros
- stream
- Stream
O fluxo a ser lido.
- detectEncodingFromByteOrderMarks
- Boolean
Indica se é necessário procurar marcas de ordem de byte no início do arquivo.
Exceções
stream
não dá suporte à leitura.
stream
é null
.
Exemplos
O exemplo de código a seguir demonstra esse StreamReader construtor.
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" ) );
}
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"));
}
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
Comentários
Esse construtor inicializa a codificação para UTF8Encoding, a BaseStream propriedade usando o stream
parâmetro e o tamanho do buffer interno para 1024 bytes.
O detectEncodingFromByteOrderMarks
parâmetro detecta a codificação examinando os quatro primeiros bytes do fluxo. Ele reconhece automaticamente o texto UTF-8, UTF-16, UTF-16, UTF-32 little-endian e UTF-32 big-endian se o arquivo começar com as marcas de ordem de bytes apropriadas. Consulte o método Encoding.GetPreamble para obter mais informações.
O StreamReader objeto chama Dispose() no objeto fornecido Stream quando StreamReader.Dispose é chamado.
Para obter uma lista de tarefas comuns de E/S, consulte Tarefas comuns de E/S.
Confira também
Aplica-se a
StreamReader(String)
- Origem:
- StreamReader.cs
- Origem:
- StreamReader.cs
- Origem:
- StreamReader.cs
Inicializa uma nova instância da classe StreamReader para o nome de arquivo especificado.
public:
StreamReader(System::String ^ path);
public StreamReader (string path);
new System.IO.StreamReader : string -> System.IO.StreamReader
Public Sub New (path As String)
Parâmetros
- path
- String
O caminho completo do arquivo a ser lido.
Exceções
path
é uma cadeia de caracteres vazia ("").
path
é null
.
Não é possível encontrar o arquivo.
O caminho especificado é inválido, por exemplo, ele está em uma unidade não mapeada.
path
inclui uma sintaxe incorreta ou inválida para o nome do arquivo, nome do diretório ou rótulo do volume.
Exemplos
O exemplo de código a seguir demonstra esse StreamReader construtor.
using namespace System;
using namespace System::IO;
int main()
{
String^ path = "c:\\temp\\MyTest.txt";
try
{
if ( File::Exists( path ) )
{
File::Delete( path );
}
StreamWriter^ sw = gcnew StreamWriter( path );
try
{
sw->WriteLine( "This" );
sw->WriteLine( "is some text" );
sw->WriteLine( "to test" );
sw->WriteLine( "Reading" );
}
finally
{
delete sw;
}
StreamReader^ sr = gcnew StreamReader( path );
try
{
while ( sr->Peek() >= 0 )
{
Console::WriteLine( sr->ReadLine() );
}
}
finally
{
delete sr;
}
}
catch ( Exception^ e )
{
Console::WriteLine( "The process failed: {0}", e );
}
}
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());
}
}
}
Imports System.IO
Public Class Test
Public Shared Sub Main()
Dim path As String = "c:\temp\MyTest.txt"
Try
If File.Exists(path) Then
File.Delete(path)
End If
Dim sw As StreamWriter = New StreamWriter(path)
sw.WriteLine("This")
sw.WriteLine("is some text")
sw.WriteLine("to test")
sw.WriteLine("Reading")
sw.Close()
Dim sr As StreamReader = New StreamReader(path)
Do While sr.Peek() >= 0
Console.WriteLine(sr.ReadLine())
Loop
sr.Close()
Catch e As Exception
Console.WriteLine("The process failed: {0}", e.ToString())
End Try
End Sub
End Class
Comentários
O caminho completo do arquivo é especificado pelo path
parâmetro . Esse construtor inicializa a codificação para UTF8Encoding e o tamanho do buffer para 1024 bytes.
O path
parâmetro pode ser um nome de arquivo, incluindo um arquivo em um compartilhamento UNC (Convenção Universal de Nomenclatura).
O path
parâmetro não precisa ser um arquivo armazenado em disco; ele pode ser qualquer parte de um sistema que dê suporte ao acesso usando fluxos.
Cuidado
Quando você compila um conjunto de caracteres com uma configuração cultural específica e recupera esses mesmos caracteres com uma configuração cultural diferente, os caracteres podem não ser interpretáveis e podem fazer com que uma exceção seja gerada.
Para obter uma lista de tarefas comuns de E/S, consulte Tarefas comuns de E/S.
Confira também
Aplica-se a
StreamReader(String, Encoding)
- Origem:
- StreamReader.cs
- Origem:
- StreamReader.cs
- Origem:
- StreamReader.cs
Inicializa uma nova instância da classe StreamReader para o nome de arquivo especificado, com a codificação de caractere especificada.
public:
StreamReader(System::String ^ path, System::Text::Encoding ^ encoding);
public StreamReader (string path, System.Text.Encoding encoding);
new System.IO.StreamReader : string * System.Text.Encoding -> System.IO.StreamReader
Public Sub New (path As String, encoding As Encoding)
Parâmetros
- path
- String
O caminho completo do arquivo a ser lido.
- encoding
- Encoding
A codificação de caracteres a ser usada.
Exceções
path
é uma cadeia de caracteres vazia ("").
path
ou encoding
é null
.
Não é possível encontrar o arquivo.
O caminho especificado é inválido, por exemplo, ele está em uma unidade não mapeada.
path
inclui uma sintaxe incorreta ou inválida para o nome do arquivo, nome do diretório ou rótulo do volume.
Exemplos
O exemplo de código a seguir demonstra esse StreamReader construtor.
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" ) );
}
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"));
}
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
Comentários
Esse construtor inicializa a codificação conforme especificado pelo encoding
parâmetro e o tamanho do buffer interno para 1024 bytes. O StreamReader objeto tenta detectar a codificação examinando os quatro primeiros bytes do fluxo. Ele reconhece automaticamente o texto UTF-8, UTF-16, UTF-16, UTF-32 little-endian e UTF-32 big-endian se o arquivo começar com as marcas de ordem de bytes apropriadas. Caso contrário, a codificação fornecida pelo usuário será usada. Consulte o método Encoding.GetPreamble para obter mais informações.
O path
parâmetro pode ser um nome de arquivo, incluindo um arquivo em um compartilhamento UNC (Convenção Universal de Nomenclatura).
O path
parâmetro não precisa ser um arquivo armazenado em disco; ele pode ser qualquer parte de um sistema que dê suporte ao acesso usando fluxos.
Cuidado
Quando você compila um conjunto de caracteres com uma configuração cultural específica e recupera esses mesmos caracteres com uma configuração cultural diferente, os caracteres podem não ser interpretáveis e podem fazer com que uma exceção seja gerada.
Para obter uma lista de tarefas comuns de E/S, consulte Tarefas comuns de E/S.