StreamReader Konstruktory
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Inicjuje StreamReader nowe wystąpienie klasy dla określonego strumienia.
Przeciążenia
| Nazwa | Opis |
|---|---|
| StreamReader(Stream) |
Inicjuje StreamReader nowe wystąpienie klasy dla określonego strumienia. |
| StreamReader(Stream, Encoding, Boolean, Int32, Boolean) |
Inicjuje nowe wystąpienie StreamReader klasy dla określonego strumienia na podstawie określonego kodowania znaków, opcji wykrywania znacznika kolejności bajtów i rozmiaru buforu, a opcjonalnie pozostawia otwarty strumień. |
| StreamReader(String, Encoding, Boolean, FileStreamOptions) |
Inicjuje nowe wystąpienie StreamReader klasy dla określonej ścieżki pliku z określonym kodowaniem znaków, opcją wykrywania znacznika kolejności bajtów i skonfigurowanym przy użyciu określonego FileStreamOptions obiektu. |
| StreamReader(String, Encoding, Boolean, Int32) |
Inicjuje StreamReader nowe wystąpienie klasy dla określonej nazwy pliku z określonym kodowaniem znaków, opcją wykrywania znacznika kolejności bajtów i rozmiarem buforu. |
| StreamReader(Stream, Encoding, Boolean, Int32) |
Inicjuje nowe wystąpienie StreamReader klasy dla określonego strumienia z określonym kodowaniem znaków, opcją wykrywania znacznika kolejności bajtów i rozmiarem buforu. |
| StreamReader(Stream, Encoding, Boolean) |
Inicjuje nowe wystąpienie StreamReader klasy dla określonego strumienia z określonym kodowaniem znaków i opcją wykrywania znacznika kolejności bajtów. |
| StreamReader(String, Encoding, Boolean) |
Inicjuje StreamReader nowe wystąpienie klasy dla określonej nazwy pliku z określonym kodowaniem znaków i opcją wykrywania znacznika kolejności bajtów. |
| StreamReader(String, FileStreamOptions) |
Inicjuje nowe wystąpienie StreamReader klasy dla określonej ścieżki pliku, używając domyślnego kodowania, umożliwiając wykrywanie znaków kolejności bajtów na początku pliku i skonfigurowane przy użyciu określonego FileStreamOptions obiektu. |
| StreamReader(String, Boolean) |
Inicjuje nowe wystąpienie StreamReader klasy dla określonej nazwy pliku z określoną opcją wykrywania znacznika kolejności bajtów. |
| StreamReader(Stream, Encoding) |
Inicjuje StreamReader nowe wystąpienie klasy dla określonego strumienia z określonym kodowaniem znaków. |
| StreamReader(Stream, Boolean) |
Inicjuje nowe wystąpienie StreamReader klasy dla określonego strumienia z określoną opcją wykrywania znacznika kolejności bajtów. |
| StreamReader(String) |
Inicjuje StreamReader nowe wystąpienie klasy dla określonej nazwy pliku. |
| StreamReader(String, Encoding) |
Inicjuje StreamReader nowe wystąpienie klasy dla określonej nazwy pliku z określonym kodowaniem znaków. |
StreamReader(Stream)
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
Inicjuje StreamReader nowe wystąpienie klasy dla określonego strumienia.
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)
Parametry
- stream
- Stream
Strumień do odczytania.
Wyjątki
stream nie obsługuje odczytywania.
Parametr stream ma wartość null.
Przykłady
W poniższym przykładzie kodu pokazano ten StreamReader konstruktor.
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
Uwagi
Ten konstruktor inicjuje kodowanie do UTF8Encoding, BaseStream właściwość przy użyciu parametru stream i wewnętrzny rozmiar buforu do 1024 bajtów.
Obiekt StreamReader wywołuje Dispose() podany Stream obiekt, gdy StreamReader.Dispose jest wywoływany.
Ostrzeżenie
Podczas kompilowania zestawu znaków z określonym ustawieniem kulturowym i pobierania tych samych znaków z innym ustawieniem kulturowym znaki mogą nie być interpretowane i mogą spowodować zgłoszenie wyjątku.
Aby uzyskać listę typowych zadań we/wy, zobacz Typowe zadania we/wy.
Zobacz też
- Wejście/Wyjście plików i strumieni
- Instrukcje: odczytywanie tekstu z pliku
- Instrukcje: zapisywanie tekstu w pliku
Dotyczy
StreamReader(Stream, Encoding, Boolean, Int32, Boolean)
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
Inicjuje nowe wystąpienie StreamReader klasy dla określonego strumienia na podstawie określonego kodowania znaków, opcji wykrywania znacznika kolejności bajtów i rozmiaru buforu, a opcjonalnie pozostawia otwarty strumień.
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)
Parametry
- stream
- Stream
Strumień do odczytania.
- encoding
- Encoding
Kodowanie znaków do użycia.
- detectEncodingFromByteOrderMarks
- Boolean
true aby wyszukać znaczniki kolejności bajtów na początku pliku; w przeciwnym razie, false.
- bufferSize
- Int32
Minimalny rozmiar buforu w bajtach.
- leaveOpen
- Boolean
true aby pozostawić strumień otwarty po usunięciu StreamReader obiektu; w przeciwnym razie false.
Uwagi
Jeśli parametr truenie leaveOpen zostanie ustawiony na , StreamReader obiekt wywołuje Dispose() podany Stream obiekt, gdy StreamReader.Dispose jest wywoływany.
Rozmiar buforu bufferSize w bajtach jest ustawiany przez parametr . Jeśli bufferSize jest mniejszy niż minimalny dozwolony rozmiar (128 bajtów), jest używany minimalny dozwolony rozmiar.
Ten konstruktor umożliwia zmianę kodowania przy pierwszym odczytywaniu StreamReader z obiektu.
detectEncodingFromByteOrderMarks Jeśli parametr ma truewartość , konstruktor wykrywa kodowanie, patrząc na pierwsze cztery bajty strumienia. Automatycznie rozpoznaje utF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 i big-endian UTF-32 tekst, jeśli plik zaczyna się od odpowiednich znaków kolejności bajtów. W przeciwnym razie używane jest kodowanie dostarczone przez użytkownika. Aby uzyskać więcej informacji, zobacz metodę Encoding.GetPreamble .
Uwaga / Notatka
Podczas odczytywania z Streamelementu funkcja jest bardziej wydajna, aby użyć buforu o takim samym rozmiarze jak wewnętrzny bufor strumienia.
Ostrzeżenie
Podczas kompilowania zestawu znaków z określonym ustawieniem kulturowym i pobierania tych samych znaków z innym ustawieniem kulturowym znaki mogą nie być poprawnie interpretowane i mogą spowodować zgłoszenie wyjątku.
Dotyczy
StreamReader(String, Encoding, Boolean, FileStreamOptions)
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
Inicjuje nowe wystąpienie StreamReader klasy dla określonej ścieżki pliku z określonym kodowaniem znaków, opcją wykrywania znacznika kolejności bajtów i skonfigurowanym przy użyciu określonego FileStreamOptions obiektu.
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);
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)
Parametry
- path
- String
Pełna ścieżka pliku do odczytu.
- encoding
- Encoding
Kodowanie znaków do użycia.
- detectEncodingFromByteOrderMarks
- Boolean
Wskazuje, czy szukać znaków kolejności bajtów na początku pliku.
- options
- FileStreamOptions
Obiekt, który określa opcje konfiguracji dla bazowego FileStreamobiektu .
Wyjątki
path lub encodingoptions ma wartość null.
Nie można odnaleźć pliku.
Określona ścieżka jest nieprawidłowa, na przykład na dysku niezamapowanym.
path zawiera nieprawidłową lub nieprawidłową składnię nazwy pliku, nazwy katalogu lub etykiety woluminu.
Zobacz też
- Encoding
- Wejście/Wyjście plików i strumieni
- Instrukcje: odczytywanie tekstu z pliku
- Instrukcje: zapisywanie tekstu w pliku
Dotyczy
StreamReader(String, Encoding, Boolean, Int32)
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
Inicjuje StreamReader nowe wystąpienie klasy dla określonej nazwy pliku z określonym kodowaniem znaków, opcją wykrywania znacznika kolejności bajtów i rozmiarem buforu.
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);
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)
Parametry
- path
- String
Pełna ścieżka pliku do odczytu.
- encoding
- Encoding
Kodowanie znaków do użycia.
- detectEncodingFromByteOrderMarks
- Boolean
Wskazuje, czy szukać znaków kolejności bajtów na początku pliku.
- bufferSize
- Int32
Minimalny rozmiar buforu w bajtach.
Wyjątki
path jest pustym ciągiem ("").
path lub encoding ma wartość null.
Nie można odnaleźć pliku.
Określona ścieżka jest nieprawidłowa, na przykład na dysku niezamapowanym.
path zawiera nieprawidłową lub nieprawidłową składnię nazwy pliku, nazwy katalogu lub etykiety woluminu.
bufferSize wartość jest mniejsza niż lub równa zero, z wyjątkiem -1, która może wskazywać domyślny rozmiar buforu.
Przykłady
W poniższym przykładzie kodu pokazano ten StreamReader konstruktor.
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
Uwagi
Ten konstruktor inicjuje kodowanie określone przez encoding parametr .
Ten konstruktor umożliwia zmianę kodowania przy pierwszym odczytywaniu StreamReader z obiektu. Parametr detectEncodingFromByteOrderMarks wykrywa kodowanie, patrząc na pierwsze cztery bajty strumienia. Automatycznie rozpoznaje utF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 i big-endian UTF-32 tekst, jeśli plik zaczyna się od odpowiednich znaków kolejności bajtów. W przeciwnym razie używane jest kodowanie dostarczone przez użytkownika. Aby uzyskać więcej informacji, zobacz metodę Encoding.GetPreamble .
Rozmiar buforu bufferSize w bajtach jest ustawiany przez parametr . Jeśli bufferSize jest mniejszy niż minimalny dozwolony rozmiar (128 bajtów), jest używany minimalny dozwolony rozmiar.
Parametr path może być nazwą pliku, w tym plikiem w udziale Universal Naming Convention (UNC).
Parametr path nie musi być plikiem przechowywanym na dysku. Może to być dowolna część systemu, który obsługuje dostęp przy użyciu strumieni.
Ostrzeżenie
Podczas kompilowania zestawu znaków z określonym ustawieniem kulturowym i pobierania tych samych znaków z innym ustawieniem kulturowym znaki mogą nie być interpretowane i mogą spowodować zgłoszenie wyjątku.
Aby uzyskać listę typowych zadań we/wy, zobacz Typowe zadania we/wy.
Zobacz też
- Encoding
- Wejście/Wyjście plików i strumieni
- Instrukcje: odczytywanie tekstu z pliku
- Instrukcje: zapisywanie tekstu w pliku
Dotyczy
StreamReader(Stream, Encoding, Boolean, Int32)
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
Inicjuje nowe wystąpienie StreamReader klasy dla określonego strumienia z określonym kodowaniem znaków, opcją wykrywania znacznika kolejności bajtów i rozmiarem buforu.
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);
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)
Parametry
- stream
- Stream
Strumień do odczytania.
- encoding
- Encoding
Kodowanie znaków do użycia.
- detectEncodingFromByteOrderMarks
- Boolean
Wskazuje, czy szukać znaków kolejności bajtów na początku pliku.
- bufferSize
- Int32
Minimalny rozmiar buforu w bajtach.
Wyjątki
Strumień nie obsługuje odczytu.
stream lub encoding ma wartość null.
bufferSize wartość jest mniejsza niż lub równa zero, z wyjątkiem -1, która może wskazywać domyślny rozmiar buforu.
Przykłady
W poniższym przykładzie kodu pokazano ten StreamReader konstruktor.
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
Uwagi
Rozmiar buforu bufferSize w bajtach jest ustawiany przez parametr . Jeśli bufferSize jest mniejszy niż minimalny dozwolony rozmiar (128 bajtów), jest używany minimalny dozwolony rozmiar.
Ten konstruktor umożliwia zmianę kodowania przy pierwszym odczytywaniu StreamReader z obiektu. Parametr detectEncodingFromByteOrderMarks wykrywa kodowanie, patrząc na pierwsze cztery bajty strumienia. Automatycznie rozpoznaje utF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 i big-endian UTF-32 tekst, jeśli plik zaczyna się od odpowiednich znaków kolejności bajtów. W przeciwnym razie używane jest kodowanie dostarczone przez użytkownika. Aby uzyskać więcej informacji, zobacz metodę Encoding.GetPreamble .
Obiekt StreamReader wywołuje Dispose() podany Stream obiekt, gdy StreamReader.Dispose jest wywoływany.
Uwaga / Notatka
Podczas odczytywania z Streamelementu funkcja jest bardziej wydajna, aby użyć buforu o takim samym rozmiarze jak wewnętrzny bufor strumienia.
Ostrzeżenie
Podczas kompilowania zestawu znaków z określonym ustawieniem kulturowym i pobierania tych samych znaków z innym ustawieniem kulturowym znaki mogą nie być interpretowane i mogą spowodować zgłoszenie wyjątku.
Aby uzyskać listę typowych zadań we/wy, zobacz Typowe zadania we/wy.
Zobacz też
- Encoding
- Wejście/Wyjście plików i strumieni
- Instrukcje: odczytywanie tekstu z pliku
- Instrukcje: zapisywanie tekstu w pliku
Dotyczy
StreamReader(Stream, Encoding, Boolean)
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
Inicjuje nowe wystąpienie StreamReader klasy dla określonego strumienia z określonym kodowaniem znaków i opcją wykrywania znacznika kolejności bajtów.
public:
StreamReader(System::IO::Stream ^ stream, System::Text::Encoding ^ encoding, bool detectEncodingFromByteOrderMarks);
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)
Parametry
- stream
- Stream
Strumień do odczytania.
- encoding
- Encoding
Kodowanie znaków do użycia.
- detectEncodingFromByteOrderMarks
- Boolean
Wskazuje, czy szukać znaków kolejności bajtów na początku pliku.
Wyjątki
stream nie obsługuje odczytywania.
stream lub encoding ma wartość null.
Przykłady
W poniższym przykładzie kodu pokazano ten StreamReader konstruktor.
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
Uwagi
Ten konstruktor inicjuje kodowanie określone przez encoding parametr, BaseStream właściwość przy użyciu parametru stream i wewnętrzny rozmiar buforu do 1024 bajtów.
Parametr detectEncodingFromByteOrderMarks wykrywa kodowanie, patrząc na pierwsze cztery bajty strumienia. Automatycznie rozpoznaje utF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 i big-endian UTF-32 tekst, jeśli plik zaczyna się od odpowiednich znaków kolejności bajtów. W przeciwnym razie używane jest kodowanie dostarczone przez użytkownika. Aby uzyskać więcej informacji, zobacz metodę Encoding.GetPreamble .
Obiekt StreamReader wywołuje Dispose() podany Stream obiekt, gdy StreamReader.Dispose jest wywoływany.
Ostrzeżenie
Podczas kompilowania zestawu znaków z określonym ustawieniem kulturowym i pobierania tych samych znaków z innym ustawieniem kulturowym znaki mogą nie być interpretowane i mogą spowodować zgłoszenie wyjątku.
Aby uzyskać listę typowych zadań we/wy, zobacz Typowe zadania we/wy.
Zobacz też
- Encoding
- Wejście/Wyjście plików i strumieni
- Instrukcje: odczytywanie tekstu z pliku
- Instrukcje: zapisywanie tekstu w pliku
Dotyczy
StreamReader(String, Encoding, Boolean)
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
Inicjuje StreamReader nowe wystąpienie klasy dla określonej nazwy pliku z określonym kodowaniem znaków i opcją wykrywania znacznika kolejności bajtów.
public:
StreamReader(System::String ^ path, System::Text::Encoding ^ encoding, bool detectEncodingFromByteOrderMarks);
public StreamReader(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)
Parametry
- path
- String
Pełna ścieżka pliku do odczytu.
- encoding
- Encoding
Kodowanie znaków do użycia.
- detectEncodingFromByteOrderMarks
- Boolean
Wskazuje, czy szukać znaków kolejności bajtów na początku pliku.
Wyjątki
path jest pustym ciągiem ("").
path lub encoding ma wartość null.
Nie można odnaleźć pliku.
Określona ścieżka jest nieprawidłowa, na przykład na dysku niezamapowanym.
path zawiera nieprawidłową lub nieprawidłową składnię nazwy pliku, nazwy katalogu lub etykiety woluminu.
Przykłady
W poniższym przykładzie kodu pokazano ten StreamReader konstruktor.
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
Uwagi
Ten konstruktor inicjuje kodowanie określone przez encoding parametr i wewnętrzny rozmiar buforu do 1024 bajtów.
Parametr detectEncodingFromByteOrderMarks wykrywa kodowanie, patrząc na pierwsze cztery bajty strumienia. Automatycznie rozpoznaje utF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 i big-endian UTF-32 tekst, jeśli plik zaczyna się od odpowiednich znaków kolejności bajtów. W przeciwnym razie używane jest kodowanie dostarczone przez użytkownika. Aby uzyskać więcej informacji, zobacz metodę Encoding.GetPreamble .
Parametr path może być nazwą pliku, w tym plikiem w udziale Universal Naming Convention (UNC).
Parametr path nie musi być plikiem przechowywanym na dysku. Może to być dowolna część systemu, który obsługuje dostęp przy użyciu strumieni.
Ostrzeżenie
Podczas kompilowania zestawu znaków z określonym ustawieniem kulturowym i pobierania tych samych znaków z innym ustawieniem kulturowym znaki mogą nie być interpretowane i mogą spowodować zgłoszenie wyjątku.
Aby uzyskać listę typowych zadań we/wy, zobacz Typowe zadania we/wy.
Zobacz też
- Encoding
- Wejście/Wyjście plików i strumieni
- Instrukcje: odczytywanie tekstu z pliku
- Instrukcje: zapisywanie tekstu w pliku
Dotyczy
StreamReader(String, FileStreamOptions)
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
Inicjuje nowe wystąpienie StreamReader klasy dla określonej ścieżki pliku, używając domyślnego kodowania, umożliwiając wykrywanie znaków kolejności bajtów na początku pliku i skonfigurowane przy użyciu określonego FileStreamOptions obiektu.
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)
Parametry
- path
- String
Pełna ścieżka pliku do odczytu.
- options
- FileStreamOptions
Obiekt, który określa opcje konfiguracji dla bazowego FileStreamobiektu .
Wyjątki
path nie jest czytelny.
— lub —
<code data-dev-comment-type="paramref">path</code> is an empty string ("").
path lub options ma wartość null.
Nie można odnaleźć pliku.
Określona ścieżka jest nieprawidłowa, na przykład na dysku niezamapowanym.
path zawiera nieprawidłową lub nieprawidłową składnię nazwy pliku, nazwy katalogu lub etykiety woluminu.
Zobacz też
- Encoding
- Wejście/Wyjście plików i strumieni
- Instrukcje: odczytywanie tekstu z pliku
- Instrukcje: zapisywanie tekstu w pliku
Dotyczy
StreamReader(String, Boolean)
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
Inicjuje nowe wystąpienie StreamReader klasy dla określonej nazwy pliku z określoną opcją wykrywania znacznika kolejności bajtów.
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)
Parametry
- path
- String
Pełna ścieżka pliku do odczytu.
- detectEncodingFromByteOrderMarks
- Boolean
Wskazuje, czy szukać znaków kolejności bajtów na początku pliku.
Wyjątki
path jest pustym ciągiem ("").
Parametr path ma wartość null.
Nie można odnaleźć pliku.
Określona ścieżka jest nieprawidłowa, na przykład na dysku niezamapowanym.
path zawiera nieprawidłową lub nieprawidłową składnię nazwy pliku, nazwy katalogu lub etykiety woluminu.
Przykłady
W poniższym przykładzie kodu pokazano ten StreamReader konstruktor.
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
Uwagi
Ten konstruktor inicjuje kodowanie do UTF8Encoding, BaseStream właściwość przy użyciu parametru stream i wewnętrzny rozmiar buforu do 1024 bajtów.
Parametr path może być nazwą pliku, w tym plikiem w udziale Universal Naming Convention (UNC).
Parametr path nie musi być plikiem przechowywanym na dysku. Może to być dowolna część systemu, który obsługuje dostęp przy użyciu strumieni.
Parametr detectEncodingFromByteOrderMarks wykrywa kodowanie, patrząc na pierwsze cztery bajty strumienia. Automatycznie rozpoznaje utF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 i big-endian UTF-32 tekst, jeśli plik zaczyna się od odpowiednich znaków kolejności bajtów.
UTF8Encoding W przeciwnym razie parametr jest używany. Aby uzyskać więcej informacji, zobacz metodę Encoding.GetPreamble .
Aby uzyskać listę typowych zadań we/wy, zobacz Typowe zadania we/wy.
Zobacz też
- Wejście/Wyjście plików i strumieni
- Instrukcje: odczytywanie tekstu z pliku
- Instrukcje: zapisywanie tekstu w pliku
Dotyczy
StreamReader(Stream, Encoding)
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
Inicjuje StreamReader nowe wystąpienie klasy dla określonego strumienia z określonym kodowaniem znaków.
public:
StreamReader(System::IO::Stream ^ stream, System::Text::Encoding ^ encoding);
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)
Parametry
- stream
- Stream
Strumień do odczytania.
- encoding
- Encoding
Kodowanie znaków do użycia.
Wyjątki
stream nie obsługuje odczytywania.
stream lub encoding ma wartość null.
Przykłady
W poniższym przykładzie kodu pokazano ten StreamReader konstruktor.
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
Uwagi
Kodowanie znaków jest ustawiane przez encoding parametr , a rozmiar buforu jest ustawiony na 1024 bajty. Obiekt StreamReader próbuje wykryć kodowanie, patrząc na pierwsze cztery bajty strumienia. Automatycznie rozpoznaje utF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 i big-endian UTF-32 tekst, jeśli plik zaczyna się od odpowiednich znaków kolejności bajtów. W przeciwnym razie używane jest kodowanie dostarczone przez użytkownika. Aby uzyskać więcej informacji, zobacz metodę Encoding.GetPreamble .
Obiekt StreamReader wywołuje Dispose() podany Stream obiekt, gdy StreamReader.Dispose jest wywoływany.
Ostrzeżenie
Podczas kompilowania zestawu znaków z określonym ustawieniem kulturowym i pobierania tych samych znaków z innym ustawieniem kulturowym znaki mogą nie być interpretowane i mogą spowodować zgłoszenie wyjątku.
Aby uzyskać listę typowych zadań we/wy, zobacz Typowe zadania we/wy.
Zobacz też
- Encoding
- Wejście/Wyjście plików i strumieni
- Instrukcje: odczytywanie tekstu z pliku
- Instrukcje: zapisywanie tekstu w pliku
Dotyczy
StreamReader(Stream, Boolean)
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
Inicjuje nowe wystąpienie StreamReader klasy dla określonego strumienia z określoną opcją wykrywania znacznika kolejności bajtów.
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)
Parametry
- stream
- Stream
Strumień do odczytania.
- detectEncodingFromByteOrderMarks
- Boolean
Wskazuje, czy szukać znaków kolejności bajtów na początku pliku.
Wyjątki
stream nie obsługuje odczytywania.
Parametr stream ma wartość null.
Przykłady
W poniższym przykładzie kodu pokazano ten StreamReader konstruktor.
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
Uwagi
Ten konstruktor inicjuje kodowanie do UTF8Encoding, BaseStream właściwość przy użyciu parametru stream i wewnętrzny rozmiar buforu do 1024 bajtów.
Parametr detectEncodingFromByteOrderMarks wykrywa kodowanie, patrząc na pierwsze cztery bajty strumienia. Automatycznie rozpoznaje utF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 i big-endian UTF-32 tekst, jeśli plik zaczyna się od odpowiednich znaków kolejności bajtów. Aby uzyskać więcej informacji, zobacz metodę Encoding.GetPreamble .
Obiekt StreamReader wywołuje Dispose() podany Stream obiekt, gdy StreamReader.Dispose jest wywoływany.
Aby uzyskać listę typowych zadań we/wy, zobacz Typowe zadania we/wy.
Zobacz też
- Wejście/Wyjście plików i strumieni
- Instrukcje: odczytywanie tekstu z pliku
- Instrukcje: zapisywanie tekstu w pliku
Dotyczy
StreamReader(String)
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
Inicjuje StreamReader nowe wystąpienie klasy dla określonej nazwy pliku.
public:
StreamReader(System::String ^ path);
public StreamReader(string path);
new System.IO.StreamReader : string -> System.IO.StreamReader
Public Sub New (path As String)
Parametry
- path
- String
Pełna ścieżka pliku do odczytu.
Wyjątki
path jest pustym ciągiem ("").
Parametr path ma wartość null.
Nie można odnaleźć pliku.
Określona ścieżka jest nieprawidłowa, na przykład na dysku niezamapowanym.
path zawiera nieprawidłową lub nieprawidłową składnię nazwy pliku, nazwy katalogu lub etykiety woluminu.
Przykłady
W poniższym przykładzie kodu pokazano ten StreamReader konstruktor.
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
Uwagi
Pełna ścieżka pliku jest określana path przez parametr . Ten konstruktor inicjuje kodowanie do UTF8Encoding i rozmiar buforu do 1024 bajtów.
Parametr path może być nazwą pliku, w tym plikiem w udziale Universal Naming Convention (UNC).
Parametr path nie musi być plikiem przechowywanym na dysku. Może to być dowolna część systemu, który obsługuje dostęp przy użyciu strumieni.
Ostrzeżenie
Podczas kompilowania zestawu znaków z określonym ustawieniem kulturowym i pobierania tych samych znaków z innym ustawieniem kulturowym znaki mogą nie być interpretowane i mogą spowodować zgłoszenie wyjątku.
Aby uzyskać listę typowych zadań we/wy, zobacz Typowe zadania we/wy.
Zobacz też
- Encoding
- Wejście/Wyjście plików i strumieni
- Instrukcje: odczytywanie tekstu z pliku
- Instrukcje: zapisywanie tekstu w pliku
Dotyczy
StreamReader(String, Encoding)
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
- Źródło:
- StreamReader.cs
Inicjuje StreamReader nowe wystąpienie klasy dla określonej nazwy pliku z określonym kodowaniem znaków.
public:
StreamReader(System::String ^ path, System::Text::Encoding ^ encoding);
public StreamReader(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)
Parametry
- path
- String
Pełna ścieżka pliku do odczytu.
- encoding
- Encoding
Kodowanie znaków do użycia.
Wyjątki
path jest pustym ciągiem ("").
path lub encoding ma wartość null.
Nie można odnaleźć pliku.
Określona ścieżka jest nieprawidłowa, na przykład na dysku niezamapowanym.
path zawiera nieprawidłową lub nieprawidłową składnię nazwy pliku, nazwy katalogu lub etykiety woluminu.
Przykłady
W poniższym przykładzie kodu pokazano ten StreamReader konstruktor.
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
Uwagi
Ten konstruktor inicjuje kodowanie określone przez encoding parametr i wewnętrzny rozmiar buforu do 1024 bajtów. Obiekt StreamReader próbuje wykryć kodowanie, patrząc na pierwsze cztery bajty strumienia. Automatycznie rozpoznaje utF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 i big-endian UTF-32 tekst, jeśli plik zaczyna się od odpowiednich znaków kolejności bajtów. W przeciwnym razie używane jest kodowanie dostarczone przez użytkownika. Aby uzyskać więcej informacji, zobacz metodę Encoding.GetPreamble .
Parametr path może być nazwą pliku, w tym plikiem w udziale Universal Naming Convention (UNC).
Parametr path nie musi być plikiem przechowywanym na dysku. Może to być dowolna część systemu, który obsługuje dostęp przy użyciu strumieni.
Ostrzeżenie
Podczas kompilowania zestawu znaków z określonym ustawieniem kulturowym i pobierania tych samych znaków z innym ustawieniem kulturowym znaki mogą nie być interpretowane i mogą spowodować zgłoszenie wyjątku.
Aby uzyskać listę typowych zadań we/wy, zobacz Typowe zadania we/wy.
Zobacz też
- Encoding
- Wejście/Wyjście plików i strumieni
- Instrukcje: odczytywanie tekstu z pliku
- Instrukcje: zapisywanie tekstu w pliku