StreamReader Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Belirli bir TextReader kodlamadaki bayt akışındaki karakterleri okuyan bir uygular.
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
- Devralma
- Devralma
- Öznitelikler
Örnekler
Aşağıdaki örnek, bir dosyadan metin okumak için örneğini StreamReader kullanır. Bu örnekte kullanılan oluşturucu Windows Mağazası Uygulamalarında kullanılmak üzere desteklenmiyor.
using namespace System;
using namespace System::IO;
int main()
{
try
{
// Create an instance of StreamReader to read from a file.
StreamReader^ sr = gcnew StreamReader( "TestFile.txt" );
try
{
String^ line;
// Read and display lines from the file until the end of
// the file is reached.
while ( line = sr->ReadLine() )
{
Console::WriteLine( line );
}
}
finally
{
if ( sr )
delete (IDisposable^)sr;
}
}
catch ( Exception^ e )
{
// Let the user know what went wrong.
Console::WriteLine( "The file could not be read:" );
Console::WriteLine( e->Message );
}
}
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
Aşağıdaki örnek, bir StreamReader nesnesinin örneğini oluşturur ve bir dosyayı zaman uyumsuz olarak okumak için yöntemini çağırır ReadAsync .
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.
Açıklamalar
StreamReader belirli bir kodlamadaki karakter girişi için, sınıfı ise Stream bayt girişi ve çıkışı için tasarlanmıştır. Standart bir metin dosyasından bilgi satırlarını okumak için kullanın StreamReader .
Önemli
Bu tür arabirimini IDisposable uygular. Türünü kullanmayı bitirdiğinizde, doğrudan veya dolaylı olarak atmalısınız. Türü doğrudan atmak için yöntemini bir try
/catch
blokta çağırın.Dispose Bunu dolaylı olarak atmak için (C#'ta) veya Using
(Visual Basic'te) gibi using
bir dil yapısı kullanın. Daha fazla bilgi için arabirim konusunun "IDisposable Uygulayan Bir Nesne Kullanma" bölümüne IDisposable bakın.
StreamReader aksi belirtilmedikçe varsayılan olarak UTF-8 kodlamasını kullanır; varsayılan olarak geçerli sistemin ANSI kod sayfasını kullanır. UTF-8, Unicode karakterleri doğru şekilde işler ve işletim sisteminin yerelleştirilmiş sürümlerinde tutarlı sonuçlar sağlar. özelliğini kullanarak geçerli karakter kodlamasını CurrentEncoding alırsanız, ilk yöntemden sonraya Read kadar değer güvenilir değildir, çünkü kodlama otomatik algılama yöntemine Read ilk çağrıya kadar yapılmaz.
Varsayılan olarak, bir StreamReader iş parçacığı güvenli değildir. İş parçacığı güvenli sarmalayıcı için bkz TextReader.Synchronized .
Read(Char[], Int32, Int32) ve Write(Char[], Int32, Int32) yöntemi, parametresi tarafından count
belirtilen karakter sayısını okur ve yazar. Bunlar, parametresi tarafından count
belirtilen bayt sayısını okuyan ve yazan ve BufferedStream.Writeile ayırt BufferedStream.Read edilir. BufferedStream Yöntemleri yalnızca bayt dizisi öğelerinin tam sayılarını okumak ve yazmak için kullanın.
Not
' Streamden okurken, akışın iç arabelleğiyle aynı boyutta bir arabellek kullanmak daha verimlidir.
Yaygın G/Ç görevlerinin listesi için bkz. Ortak G/Ç Görevleri.
Oluşturucular
StreamReader(Stream) |
Belirtilen akış için sınıfının yeni bir örneğini StreamReader başlatır. |
StreamReader(Stream, Boolean) |
Belirtilen bayt sırası işareti algılama seçeneğiyle belirtilen akış için sınıfının yeni bir örneğini StreamReader başlatır. |
StreamReader(Stream, Encoding) |
Belirtilen akış için belirtilen karakter kodlamasıyla sınıfının yeni bir örneğini StreamReader başlatır. |
StreamReader(Stream, Encoding, Boolean) |
Belirtilen karakter kodlaması StreamReader ve bayt sırası işareti algılama seçeneğiyle belirtilen akış için sınıfının yeni bir örneğini başlatır. |
StreamReader(Stream, Encoding, Boolean, Int32) |
Belirtilen karakter kodlaması, bayt sırası işareti algılama seçeneği ve arabellek boyutu ile belirtilen akış için sınıfının yeni bir örneğini StreamReader başlatır. |
StreamReader(Stream, Encoding, Boolean, Int32, Boolean) |
Belirtilen karakter kodlaması StreamReader , bayt sırası işareti algılama seçeneği ve arabellek boyutu temelinde belirtilen akış için sınıfının yeni bir örneğini başlatır ve isteğe bağlı olarak akışı açık bırakır. |
StreamReader(String) |
Belirtilen dosya adı için sınıfının yeni bir örneğini StreamReader başlatır. |
StreamReader(String, Boolean) |
Belirtilen bayt sırası işareti algılama seçeneğiyle belirtilen dosya adı için sınıfının yeni bir örneğini StreamReader başlatır. |
StreamReader(String, Encoding) |
Belirtilen karakter kodlamasıyla StreamReader belirtilen dosya adı için sınıfının yeni bir örneğini başlatır. |
StreamReader(String, Encoding, Boolean) |
Belirtilen dosya adı için, belirtilen karakter kodlaması ve bayt sırası işareti algılama seçeneğiyle sınıfının yeni bir örneğini StreamReader başlatır. |
StreamReader(String, Encoding, Boolean, FileStreamOptions) |
Belirtilen karakter kodlaması, bayt sırası işareti algılama seçeneğiyle belirtilen dosya yolu için sınıfının yeni bir örneğini StreamReader başlatır ve belirtilen FileStreamOptions nesneyle yapılandırılır. |
StreamReader(String, Encoding, Boolean, Int32) |
Belirtilen karakter kodlaması, bayt sırası işareti algılama seçeneği ve arabellek boyutu ile belirtilen dosya adı için sınıfının yeni bir örneğini StreamReader başlatır. |
StreamReader(String, FileStreamOptions) |
Varsayılan kodlamayı StreamReader kullanarak belirtilen dosya yolu için sınıfının yeni bir örneğini başlatır, dosyanın başında bayt sırası işaretlerinin algılanması etkinleştirilir ve belirtilen FileStreamOptions nesneyle yapılandırılır. |
Alanlar
Null |
StreamReader Boş bir akışın etrafındaki nesne. |
Özellikler
BaseStream |
Temel alınan akışı döndürür. |
CurrentEncoding |
Geçerli nesnenin kullandığı geçerli StreamReader karakter kodlamasını alır. |
EndOfStream |
Geçerli akış konumunun akışın sonunda olup olmadığını gösteren bir değer alır. |
Yöntemler
Close() |
StreamReader Nesneyi ve temel alınan akışı kapatır ve okuyucuyla ilişkili tüm sistem kaynaklarını serbest bırakır. |
Close() |
öğesini TextReader kapatır ve ile |
CreateObjRef(Type) |
Uzak bir nesneyle iletişim kurmak için kullanılan bir ara sunucu oluşturmak için gereken tüm ilgili bilgileri içeren bir nesne oluşturur. (Devralındığı yer: MarshalByRefObject) |
DiscardBufferedData() |
İç arabelleği temizler. |
Dispose() |
nesnesi tarafından TextReader kullanılan tüm kaynakları serbest bırakır. (Devralındığı yer: TextReader) |
Dispose(Boolean) |
Temel alınan akışı kapatır, tarafından StreamReaderkullanılan yönetilmeyen kaynakları serbest bırakır ve isteğe bağlı olarak yönetilen kaynakları serbest bırakır. |
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetLifetimeService() |
Geçersiz.
Bu örnek için yaşam süresi ilkesini denetleen geçerli yaşam süresi hizmet nesnesini alır. (Devralındığı yer: MarshalByRefObject) |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
InitializeLifetimeService() |
Geçersiz.
Bu örneğin yaşam süresi ilkesini denetlemek için bir yaşam süresi hizmet nesnesi alır. (Devralındığı yer: MarshalByRefObject) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
MemberwiseClone(Boolean) |
Geçerli MarshalByRefObject nesnenin sığ bir kopyasını oluşturur. (Devralındığı yer: MarshalByRefObject) |
Peek() |
Bir sonraki kullanılabilir karakteri döndürür ancak kullanmaz. |
Read() |
Giriş akışından sonraki karakteri okur ve karakter konumunu bir karakter ilerletir. |
Read(Char[], Int32, Int32) |
Belirtilen dizinden başlayarak geçerli akıştan bir arabelleğe belirtilen karakter sayısı üst sınırını okur. |
Read(Span<Char>) |
Geçerli akıştan bir yayılma alanına karakterleri okur. |
Read(Span<Char>) |
Geçerli okuyucudaki karakterleri okur ve verileri belirtilen arabelleğe yazar. (Devralındığı yer: TextReader) |
ReadAsync(Char[], Int32, Int32) |
Geçerli akıştan belirtilen en fazla karakter sayısını zaman uyumsuz olarak okur ve verileri belirtilen dizinden başlayarak bir arabelleğe yazar. |
ReadAsync(Char[], Int32, Int32) |
Geçerli metin okuyucudan belirtilen en fazla karakter sayısını zaman uyumsuz olarak okur ve verileri belirtilen dizinden başlayarak bir arabelleğe yazar. (Devralındığı yer: TextReader) |
ReadAsync(Memory<Char>, CancellationToken) |
Geçerli akıştan karakterleri zaman uyumsuz olarak bir bellek bloğuna okur. |
ReadAsync(Memory<Char>, CancellationToken) |
Geçerli akıştan karakterleri zaman uyumsuz olarak bir bellek bloğuna okur. (Devralındığı yer: TextReader) |
ReadBlock(Char[], Int32, Int32) |
Geçerli akıştan belirtilen en fazla karakter sayısını okur ve verileri belirtilen dizinden başlayarak bir arabelleğe yazar. |
ReadBlock(Char[], Int32, Int32) |
Geçerli metin okuyucudan belirtilen en fazla karakter sayısını okur ve verileri belirtilen dizinden başlayarak arabelleğe yazar. (Devralındığı yer: TextReader) |
ReadBlock(Span<Char>) |
Geçerli akıştan karakterleri okur ve verileri arabelleğe yazar. |
ReadBlock(Span<Char>) |
Geçerli akıştan karakterleri okur ve verileri arabelleğe yazar. (Devralındığı yer: TextReader) |
ReadBlockAsync(Char[], Int32, Int32) |
Geçerli akıştan belirtilen en fazla karakter sayısını zaman uyumsuz olarak okur ve verileri belirtilen dizinden başlayarak bir arabelleğe yazar. |
ReadBlockAsync(Char[], Int32, Int32) |
Geçerli metin okuyucudan belirtilen en fazla karakter sayısını zaman uyumsuz olarak okur ve verileri belirtilen dizinden başlayarak bir arabelleğe yazar. (Devralındığı yer: TextReader) |
ReadBlockAsync(Memory<Char>, CancellationToken) |
Geçerli akıştan karakterleri zaman uyumsuz olarak okur ve verileri arabelleğe yazar. |
ReadBlockAsync(Memory<Char>, CancellationToken) |
Geçerli akıştan karakterleri zaman uyumsuz olarak okur ve verileri arabelleğe yazar. (Devralındığı yer: TextReader) |
ReadLine() |
Geçerli akıştan bir karakter satırını okur ve verileri dize olarak döndürür. |
ReadLineAsync() |
Geçerli akıştan zaman uyumsuz olarak bir karakter satırı okur ve verileri dize olarak döndürür. |
ReadLineAsync() |
Bir karakter satırını zaman uyumsuz olarak okur ve verileri dize olarak döndürür. (Devralındığı yer: TextReader) |
ReadLineAsync(CancellationToken) |
Geçerli akıştan zaman uyumsuz olarak bir karakter satırı okur ve verileri dize olarak döndürür. |
ReadLineAsync(CancellationToken) |
Bir karakter satırını zaman uyumsuz olarak okur ve verileri dize olarak döndürür. (Devralındığı yer: TextReader) |
ReadToEnd() |
Geçerli konumdan akışın sonuna kadar olan tüm karakterleri okur. |
ReadToEndAsync() |
Geçerli konumdan akışın sonuna kadar olan tüm karakterleri zaman uyumsuz olarak okur ve bunları bir dize olarak döndürür. |
ReadToEndAsync() |
Geçerli konumdan metin okuyucunun sonuna kadar olan tüm karakterleri zaman uyumsuz olarak okur ve bunları tek bir dize olarak döndürür. (Devralındığı yer: TextReader) |
ReadToEndAsync(CancellationToken) |
Geçerli konumdan akışın sonuna kadar olan tüm karakterleri zaman uyumsuz olarak okur ve bunları bir dize olarak döndürür. |
ReadToEndAsync(CancellationToken) |
Geçerli konumdan metin okuyucunun sonuna kadar olan tüm karakterleri zaman uyumsuz olarak okur ve bunları tek bir dize olarak döndürür. (Devralındığı yer: TextReader) |
ToString() |
Geçerli nesneyi temsil eden dizeyi döndürür. (Devralındığı yer: Object) |
Belirtik Arabirim Kullanımları
IDisposable.Dispose() |
Bu üyenin açıklaması için bkz Dispose(). . (Devralındığı yer: TextReader) |