StreamReader Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Olyan karaktereket TextReader implementál, amelyek egy bájtfolyamból olvasnak be karaktereket egy adott kódolásban.
public ref class StreamReader : System::IO::TextReader
public class StreamReader : System.IO.TextReader
[System.Serializable]
public class StreamReader : System.IO.TextReader
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class StreamReader : System.IO.TextReader
type StreamReader = class
inherit TextReader
[<System.Serializable>]
type StreamReader = class
inherit TextReader
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type StreamReader = class
inherit TextReader
Public Class StreamReader
Inherits TextReader
- Öröklődés
- Öröklődés
- Attribútumok
Példák
Az alábbi példa egy fájl szövegének olvasására StreamReader szolgáló példányt használ. Az ebben a példában használt konstruktor nem támogatott Windows Áruházbeli alkalmazásokban való használatra.
using System;
using System.IO;
class Test
{
public static void Main()
{
try
{
// Create an instance of StreamReader to read from a file.
// The using statement also closes the StreamReader.
using (StreamReader sr = new StreamReader("TestFile.txt"))
{
string line;
// Read and display lines from the file until the end of
// the file is reached.
while ((line = sr.ReadLine()) != null)
{
Console.WriteLine(line);
}
}
}
catch (Exception e)
{
// Let the user know what went wrong.
Console.WriteLine("The file could not be read:");
Console.WriteLine(e.Message);
}
}
}
Imports System.IO
Class Test
Public Shared Sub Main()
Try
' Create an instance of StreamReader to read from a file.
Dim sr As StreamReader = New StreamReader("TestFile.txt")
Dim line As String
' Read and display the lines from the file until the end
' of the file is reached.
Do
line = sr.ReadLine()
Console.WriteLine(Line)
Loop Until line Is Nothing
sr.Close()
Catch E As Exception
' Let the user know what went wrong.
Console.WriteLine("The file could not be read:")
Console.WriteLine(E.Message)
End Try
End Sub
End Class
Az alábbi példa létrehoz egy StreamReader objektumot, és meghívja annak metódusát ReadAsync egy fájl aszinkron olvasására.
using System;
using System.IO;
using System.Threading.Tasks;
class Example
{
static async Task Main()
{
await ReadAndDisplayFilesAsync();
}
static async Task ReadAndDisplayFilesAsync()
{
String filename = "TestFile1.txt";
Char[] buffer;
using (var sr = new StreamReader(filename)) {
buffer = new Char[(int)sr.BaseStream.Length];
await sr.ReadAsync(buffer, 0, (int)sr.BaseStream.Length);
}
Console.WriteLine(new String(buffer));
}
}
// The example displays the following output:
// This is the first line of text in a relatively short file.
// This is the second line.
// This is the third line.
// This is the fourth and final line.
Imports System.IO
Imports System.Threading.Tasks
Module Example
Public Sub Main()
ReadAndDisplayFilesAsync()
End Sub
Private Async Sub ReadAndDisplayFilesAsync()
Dim filename As String = "TestFile1.txt"
Dim buffer() As Char
Using sr As New StreamReader(filename)
ReDim buffer(CInt(sr.BaseStream.Length))
Await sr.ReadAsync(buffer, 0, CInt(sr.BaseStream.Length))
End Using
Console.WriteLine(New String(buffer))
End Sub
End Module
' The example displays the following output:
' This is the first line of text in a relatively short file.
' This is the second line.
' This is the third line.
' This is the fourth and final line.
Megjegyzések
StreamReader karakterbemenetre tervezték egy adott kódolásban, míg az Stream osztály bájtos bemenetre és kimenetre lett tervezve. Szabványos szövegfájlból származó információsorok olvasására használható StreamReader .
Important
Ez a típus implementálja a IDisposable felületet. Ha befejezte a típus használatát, közvetlenül vagy közvetve kell megsemmisítenie. A típus közvetlen ártalmatlanításához hívja meg a Dispose metódust egy try/catch blokkban. Ha közvetve szeretné megsemmisíteni, használjon olyan nyelvi szerkezetet, mint a using (C#-ban) vagy Using (a Visual Basicben). További információ: "Az IDisposable-t megvalósító objektum használata" című szakasz a IDisposable felület témakörében.
StreamReader alapértelmezés szerint az UTF-8 kódolás lesz, kivéve, ha másként van megadva, ahelyett, hogy az aktuális rendszer ANSI-kódlapjára alapértelmezettként szolgál. Az UTF-8 megfelelően kezeli a Unicode-karaktereket, és konzisztens eredményeket biztosít az operációs rendszer honosított verzióihoz. Ha a tulajdonság használatával kapja meg az CurrentEncoding aktuális karakterkódolást, az érték csak az első Read módszer után megbízható, mivel az automatikus észlelés kódolása csak a metódus első hívásáig Read történik.
Alapértelmezés szerint az a StreamReader nem biztonságos szál. Tekintse meg TextReader.Synchronized a szálbiztos burkolót.
A Read(Char[], Int32, Int32) metódus túlterheli Write(Char[], Int32, Int32) a paraméter által megadott karakterek olvasását és írását count . Ezeket meg kell különböztetni BufferedStream.ReadBufferedStream.Writea paraméter által megadott bájtok számának olvasásához és írásához count .
BufferedStream A metódusokat csak bájttömbelemek egész számának olvasására és írására használhatja.
Note
A streamből Streamvaló olvasáskor hatékonyabb egy olyan puffer használata, amely megegyezik a stream belső pufferével.
A gyakori I/O-feladatok listáját a Gyakori I/O-feladatok című témakörben találja.
Konstruktorok
| Name | Description |
|---|---|
| StreamReader(Stream, Boolean) |
Inicializálja a StreamReader megadott stream osztályának új példányát a megadott bájtsorrendjel-észlelési beállítással. |
| StreamReader(Stream, Encoding, Boolean, Int32, Boolean) |
Inicializálja a StreamReader megadott stream osztályának egy új példányát a megadott karakterkódolás, a bájtsorrend-jelészlelési beállítás és a pufferméret alapján, és opcionálisan nyitva hagyja a streamet. |
| StreamReader(Stream, Encoding, Boolean, Int32) |
Inicializálja a StreamReader megadott stream osztályának új példányát a megadott karakterkódolással, a bájtsorrendjelek észlelésével és a puffer méretével. |
| StreamReader(Stream, Encoding, Boolean) |
Inicializálja a StreamReader megadott stream osztályának új példányát a megadott karakterkódolással és bájtsorrendjel-észlelési beállítással. |
| StreamReader(Stream, Encoding) |
Inicializálja a StreamReader megadott stream osztályának új példányát a megadott karakterkódolással. |
| StreamReader(Stream) |
Inicializálja a StreamReader megadott stream osztályának új példányát. |
| StreamReader(String, Boolean) |
Inicializálja az StreamReader osztály új példányát a megadott fájlnévhez a megadott bájtsorrendjel-észlelési beállítással. |
| StreamReader(String, Encoding, Boolean, FileStreamOptions) |
Inicializálja a StreamReader megadott fájl elérési útjának osztályának új példányát a megadott karakterkódolással, bájtsorrend-jelészlelési beállítással és a megadott FileStreamOptions objektummal konfigurálva. |
| StreamReader(String, Encoding, Boolean, Int32) |
Inicializálja a StreamReader megadott fájlnév osztályának új példányát a megadott karakterkódolással, a bájtsorrendjelek észlelésével és a puffer méretével. |
| StreamReader(String, Encoding, Boolean) |
Inicializálja a StreamReader megadott fájlnév osztályának új példányát a megadott karakterkódolással és bájtsorrendjel-észlelési beállítással. |
| StreamReader(String, Encoding) |
Inicializálja a StreamReader megadott fájlnév osztályának új példányát a megadott karakterkódolással. |
| StreamReader(String, FileStreamOptions) |
Inicializálja a StreamReader megadott fájlútvonal osztályának új példányát az alapértelmezett kódolással, lehetővé téve a bájtsorrendjelek észlelését a fájl elején, és konfigurálja a megadott FileStreamOptions objektummal. |
| StreamReader(String) |
Inicializálja az StreamReader osztály új példányát a megadott fájlnévhez. |
Mezők
| Name | Description |
|---|---|
| Null |
Egy StreamReader üres stream körüli objektum. |
Tulajdonságok
| Name | Description |
|---|---|
| BaseStream |
A mögöttes streamet adja vissza. |
| CurrentEncoding |
Lekéri az aktuális StreamReader objektum által használt aktuális karakterkódolást. |
| EndOfStream |
Olyan értéket kap, amely jelzi, hogy az aktuális stream pozíciója a stream végén van-e. |
Metódusok
| Name | Description |
|---|---|
| Close() |
Bezárja az StreamReader objektumot és az alapul szolgáló streamet, és felszabadítja az olvasóhoz társított rendszererőforrásokat. |
| CreateObjRef(Type) |
Létrehoz egy objektumot, amely tartalmazza a távoli objektumokkal való kommunikációhoz használt proxy létrehozásához szükséges összes releváns információt. (Öröklődés forrása MarshalByRefObject) |
| DiscardBufferedData() |
Törli a belső puffert. |
| Dispose() |
Felszabadítja az objektum által használt összes erőforrást TextReader . (Öröklődés forrása TextReader) |
| Dispose(Boolean) |
Bezárja a mögöttes streamet, felszabadítja a nem felügyelt StreamReadererőforrásokat, és opcionálisan felszabadítja a felügyelt erőforrásokat. |
| Equals(Object) |
Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal. (Öröklődés forrása Object) |
| GetHashCode() |
Ez az alapértelmezett kivonatoló függvény. (Öröklődés forrása Object) |
| GetLifetimeService() |
Elavult.
Lekéri a példány élettartamszabályzatát vezérlő aktuális élettartam-szolgáltatásobjektumot. (Öröklődés forrása MarshalByRefObject) |
| GetType() |
Lekéri az Type aktuális példányt. (Öröklődés forrása Object) |
| InitializeLifetimeService() |
Elavult.
Beolvas egy élettartam-szolgáltatásobjektumot a példány élettartam-szabályzatának szabályozásához. (Öröklődés forrása MarshalByRefObject) |
| MemberwiseClone() |
Az aktuális Objectpéldány sekély másolatát hozza létre. (Öröklődés forrása Object) |
| MemberwiseClone(Boolean) |
Az aktuális MarshalByRefObject objektum sekély másolatát hozza létre. (Öröklődés forrása MarshalByRefObject) |
| Peek() |
A következő elérhető karaktert adja vissza, de nem használja. |
| Read() |
Beolvassa a következő karaktert a bemeneti adatfolyamból, és a karakter pozícióját egy karakter előrelépteti. |
| Read(Char[], Int32, Int32) |
A megadott számú karakter beolvasása az aktuális streamből egy pufferbe, a megadott indextől kezdve. |
| Read(Span<Char>) |
Beolvassa az aktuális streamben lévő karaktereket egy spanba. |
| ReadAsync(Char[], Int32, Int32) |
Beolvassa a megadott maximális számú karaktert az aktuális streamből aszinkron módon, és a megadott indextől kezdve egy pufferbe írja az adatokat. |
| ReadAsync(Memory<Char>, CancellationToken) |
Aszinkron módon beolvassa a karaktereket az aktuális streamből egy memóriablokkba. |
| ReadBlock(Char[], Int32, Int32) |
Beolvassa a megadott számú karaktert az aktuális streamből, és a megadott indextől kezdve egy pufferbe írja az adatokat. |
| ReadBlock(Char[], Int32, Int32) |
Beolvassa a megadott számú karaktert az aktuális szövegolvasóból, és a megadott indextől kezdve egy pufferbe írja az adatokat. (Öröklődés forrása TextReader) |
| ReadBlock(Span<Char>) |
Beolvassa a karaktereket az aktuális streamből, és egy pufferbe írja az adatokat. |
| ReadBlockAsync(Char[], Int32, Int32) |
Beolvassa a megadott maximális számú karaktert az aktuális streamből aszinkron módon, és a megadott indextől kezdve egy pufferbe írja az adatokat. |
| ReadBlockAsync(Memory<Char>, CancellationToken) |
Aszinkron módon beolvassa a karaktereket az aktuális adatfolyamból, és egy pufferbe írja az adatokat. |
| ReadLine() |
Beolvas egy karaktersort az aktuális adatfolyamból, és sztringként adja vissza az adatokat. |
| ReadLineAsync() |
Egy karaktersort aszinkron módon olvas be az aktuális adatfolyamból, és sztringként adja vissza az adatokat. |
| ReadLineAsync(CancellationToken) |
Egy karaktersort aszinkron módon olvas be az aktuális adatfolyamból, és sztringként adja vissza az adatokat. |
| ReadToEnd() |
Beolvassa az összes karaktert az aktuális pozíciótól a stream végéig. |
| ReadToEndAsync() |
Beolvassa az összes karaktert az aktuális pozíciótól a stream végéig aszinkron módon, és egy sztringként adja vissza őket. |
| ReadToEndAsync(CancellationToken) |
Beolvassa az összes karaktert az aktuális pozíciótól a stream végéig aszinkron módon, és egy sztringként adja vissza őket. |
| ToString() |
Az aktuális objektumot jelképező sztringet ad vissza. (Öröklődés forrása Object) |
Explicit interfész-implementációk
| Name | Description |
|---|---|
| IDisposable.Dispose() |
Ennek a tagnak a leírását lásd Dispose(): . (Öröklődés forrása TextReader) |