StreamReader Sınıf
Tanım
Belirli bir TextReader kodlamada bayt akışından karakterleri okuyan bir uygular.Implements a TextReader that reads characters from a byte stream in a particular encoding.
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, StreamReader bir dosyasından metin okumak için örneğini kullanır.The following example uses an instance of StreamReader to read text from a file. Bu örnekte kullanılan oluşturucunun Windows Mağazası uygulamalarında kullanılması desteklenmez.The constructor used in this example is not supported for use in Windows Store Apps.
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 nesnesi oluşturur StreamReader ve bir ReadAsync dosyayı zaman uyumsuz olarak okumak için yöntemini çağırır.The following example instantiates a StreamReader object and calls its ReadAsync method to read a file asynchronously.
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 kodlamada karakter girişi için tasarlanmıştır, ancak Stream Sınıf bayt girişi ve çıkışı için tasarlanmıştır.StreamReader is designed for character input in a particular encoding, whereas the Stream class is designed for byte input and output. StreamReaderStandart metin dosyasından bilgi satırlarını okumak için kullanın.Use StreamReader for reading lines of information from a standard text file.
Önemli
Bu tür, IDisposable arabirimini uygular.This type implements the IDisposable interface. Türü kullanmayı bitirdiğinizde, bunu doğrudan veya dolaylı olarak atabilirsiniz.When you have finished using the type, you should dispose of it either directly or indirectly. Türü doğrudan atmak için, Dispose yöntemini bir try / catch blokta çağırın.To dispose of the type directly, call its Dispose method in a try/catch block. Dolaylı olarak atmak için using (C# dilinde) veya (Visual Basic) gibi bir dil yapısı kullanın Using .To dispose of it indirectly, use a language construct such as using (in C#) or Using (in Visual Basic). Daha fazla bilgi için, interface konusunun "IDisposable uygulayan bir nesne kullanma" bölümüne bakın IDisposable .For more information, see the "Using an Object that Implements IDisposable" section in the IDisposable interface topic.
StreamReader Varsayılan olarak, geçerli sistem için ANSI kod sayfasına varsayılan değer yerine, aksi belirtilmedikçe UTF-8 kodlaması varsayılan olarak belirtilir.StreamReader defaults to UTF-8 encoding unless specified otherwise, instead of defaulting to the ANSI code page for the current system. UTF-8 Unicode karakterleri doğru şekilde işler ve işletim sisteminin yerelleştirilmiş sürümlerinde tutarlı sonuçlar sağlar.UTF-8 handles Unicode characters correctly and provides consistent results on localized versions of the operating system. Özelliğini kullanarak geçerli karakter kodlamasını alırsanız CurrentEncoding , Read bir yönteme ilk çağrı tamamlanana kadar kodlama otomatik algılama işlemi yapılmadığından, değer ilk yöntemden sonra güvenilir değildir Read .If you get the current character encoding using the CurrentEncoding property, the value is not reliable until after the first Read method, since encoding auto detection is not done until the first call to a Read method.
Varsayılan olarak, bir StreamReader iş parçacığı güvenli değildir.By default, a StreamReader is not thread safe. Bkz TextReader.Synchronized . iş parçacığı güvenli sarmalayıcı için.See TextReader.Synchronized for a thread-safe wrapper.
Read(Char[], Int32, Int32)Ve Write(Char[], Int32, Int32) yöntemi, parametresini okur ve parametresi tarafından belirtilen karakter sayısını yazar count .The Read(Char[], Int32, Int32) and Write(Char[], Int32, Int32) method overloads read and write the number of characters specified by the count parameter. Bunlar BufferedStream.Read BufferedStream.Write , ve parametresi tarafından belirtilen bayt sayısını okuyup yazan ' den ayırt edilir count .These are to be distinguished from BufferedStream.Read and BufferedStream.Write, which read and write the number of bytes specified by the count parameter. BufferedStreamYalnızca tamsayı bayt dizisi öğelerinin okunması ve yazılması için yöntemlerini kullanın.Use the BufferedStream methods only for reading and writing an integral number of byte array elements.
Not
Bir ' dan okurken Stream , akışın iç arabelleğine göre aynı boyutta bir arabellek kullanmak daha verimlidir.When reading from a Stream, it is more efficient to use a buffer that is the same size as the internal buffer of the stream.
Ortak g/ç görevlerinin listesi için bkz. ortak g/ç görevleri.For a list of common I/O tasks, see Common I/O Tasks.
Oluşturucular
| StreamReader(Stream) |
StreamReaderBelirtilen akış için sınıfın yeni bir örneğini başlatır.Initializes a new instance of the StreamReader class for the specified stream. |
| StreamReader(Stream, Boolean) |
Belirtilen StreamReader akış için belirtilen bayt sırası işareti algılama seçeneğiyle sınıfın yeni bir örneğini başlatır.Initializes a new instance of the StreamReader class for the specified stream, with the specified byte order mark detection option. |
| StreamReader(Stream, Encoding) |
Belirtilen StreamReader karakter kodlamasıyla belirtilen akış için sınıfın yeni bir örneğini başlatır.Initializes a new instance of the StreamReader class for the specified stream, with the specified character encoding. |
| StreamReader(Stream, Encoding, Boolean) |
Belirtilen StreamReader karakter kodlaması ve bayt sırası işareti algılama seçeneği ile belirtilen akış için sınıfın yeni bir örneğini başlatır.Initializes a new instance of the StreamReader class for the specified stream, with the specified character encoding and byte order mark detection option. |
| StreamReader(Stream, Encoding, Boolean, Int32) |
Belirtilen StreamReader karakter kodlaması, bayt sırası işareti algılama seçeneği ve arabellek boyutu ile belirtilen akış için sınıfın yeni bir örneğini başlatır.Initializes a new instance of the StreamReader class for the specified stream, with the specified character encoding, byte order mark detection option, and buffer size. |
| StreamReader(Stream, Encoding, Boolean, Int32, Boolean) |
Belirtilen StreamReader karakter kodlamasını, bayt sırası işaretini algılama seçeneğini ve arabellek boyutunu temel alarak belirtilen akış için sınıfın yeni bir örneğini başlatır ve isteğe bağlı olarak akışı açık bırakır.Initializes a new instance of the StreamReader class for the specified stream based on the specified character encoding, byte order mark detection option, and buffer size, and optionally leaves the stream open. |
| StreamReader(String) |
StreamReaderBelirtilen dosya adı için sınıfın yeni bir örneğini başlatır.Initializes a new instance of the StreamReader class for the specified file name. |
| StreamReader(String, Boolean) |
Belirtilen StreamReader dosya adı için belirtilen bayt sırası işareti algılama seçeneğiyle sınıfın yeni bir örneğini başlatır.Initializes a new instance of the StreamReader class for the specified file name, with the specified byte order mark detection option. |
| StreamReader(String, Encoding) |
Belirtilen StreamReader karakter kodlamasıyla belirtilen dosya adı için sınıfın yeni bir örneğini başlatır.Initializes a new instance of the StreamReader class for the specified file name, with the specified character encoding. |
| StreamReader(String, Encoding, Boolean) |
Belirtilen StreamReader dosya adı için sınıfın yeni bir örneğini, belirtilen karakter kodlaması ve bayt sırası işaret algılama seçeneği ile başlatır.Initializes a new instance of the StreamReader class for the specified file name, with the specified character encoding and byte order mark detection option. |
| StreamReader(String, Encoding, Boolean, Int32) |
Belirtilen StreamReader 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 yeni bir örneğini başlatır.Initializes a new instance of the StreamReader class for the specified file name, with the specified character encoding, byte order mark detection option, and buffer size. |
Alanlar
| Null |
StreamReaderBoş bir akış etrafında bir nesne.A StreamReader object around an empty stream. |
Özellikler
| BaseStream |
Temel alınan akışı döndürür.Returns the underlying stream. |
| CurrentEncoding |
Geçerli nesnenin kullandığı geçerli karakter kodlamasını alır StreamReader .Gets the current character encoding that the current StreamReader object is using. |
| EndOfStream |
Geçerli akış konumunun akışın sonunda olup olmadığını gösteren bir değer alır.Gets a value that indicates whether the current stream position is at the end of the stream. |
Yöntemler
| Close() |
StreamReaderNesneyi ve temel alınan akışı kapatır ve okuyucu ile ilişkili tüm sistem kaynaklarını serbest bırakır.Closes the StreamReader object and the underlying stream, and releases any system resources associated with the reader. |
| Close() |
TextReader' İ kapatır ve ile ilişkili tüm sistem kaynaklarını serbest bırakır |
| CreateObjRef(Type) |
Uzak bir nesneyle iletişim kurmak için kullanılan bir ara sunucu oluşturmak için gereken tüm bilgileri içeren bir nesne oluşturur.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object. (Devralındığı yer: MarshalByRefObject) |
| DiscardBufferedData() |
İç arabelleği temizler.Clears the internal buffer. |
| Dispose() |
Nesne tarafından kullanılan tüm kaynakları serbest bırakır TextReader .Releases all resources used by the TextReader object. (Devralındığı yer: TextReader) |
| Dispose(Boolean) |
Temel alınan akışı kapatır, tarafından kullanılan yönetilmeyen kaynakları yayınlar StreamReader ve isteğe bağlı olarak yönetilen kaynakları serbest bırakır.Closes the underlying stream, releases the unmanaged resources used by the StreamReader, and optionally releases the managed resources. |
| Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.Determines whether the specified object is equal to the current object. (Devralındığı yer: Object) |
| GetHashCode() |
Varsayılan karma işlevi olarak işlev görür.Serves as the default hash function. (Devralındığı yer: Object) |
| GetLifetimeService() |
Kullanımdan kalktı.
Bu örnek için ömür ilkesini denetleyen geçerli ömür hizmeti nesnesini alır.Retrieves the current lifetime service object that controls the lifetime policy for this instance. (Devralındığı yer: MarshalByRefObject) |
| GetType() |
TypeGeçerli örneği alır.Gets the Type of the current instance. (Devralındığı yer: Object) |
| InitializeLifetimeService() |
Kullanımdan kalktı.
Bu örnek için ömür ilkesini denetlemek üzere bir ömür hizmeti nesnesi alır.Obtains a lifetime service object to control the lifetime policy for this instance. (Devralındığı yer: MarshalByRefObject) |
| MemberwiseClone() |
Geçerli bir basit kopyasını oluşturur Object .Creates a shallow copy of the current Object. (Devralındığı yer: Object) |
| MemberwiseClone(Boolean) |
Geçerli nesnenin basit bir kopyasını oluşturur MarshalByRefObject .Creates a shallow copy of the current MarshalByRefObject object. (Devralındığı yer: MarshalByRefObject) |
| Peek() |
Bir sonraki kullanılabilir karakteri döndürür, ancak bunu tüketmez.Returns the next available character but does not consume it. |
| Read() |
Giriş akışından sonraki karakteri okur ve karakter konumunu bir karakter ile ilerletir.Reads the next character from the input stream and advances the character position by one character. |
| Read(Char[], Int32, Int32) |
Belirtilen dizinden başlayarak, geçerli akıştan belirtilen en fazla karakter sayısını arabelleğe okur.Reads a specified maximum of characters from the current stream into a buffer, beginning at the specified index. |
| Read(Span<Char>) |
Geçerli akıştaki karakterleri bir yayılmasına okur.Reads the characters from the current stream into a span. |
| Read(Span<Char>) |
Geçerli okuyucudaki karakterleri okur ve verileri belirtilen arabelleğe yazar.Reads the characters from the current reader and writes the data to the specified buffer. (Devralındığı yer: TextReader) |
| ReadAsync(Char[], Int32, Int32) |
Geçerli akıştan belirtilen en fazla sayıda karakteri zaman uyumsuz olarak okur ve belirtilen dizinden başlayarak verileri bir arabelleğe yazar.Reads a specified maximum number of characters from the current stream asynchronously and writes the data to a buffer, beginning at the specified index. |
| ReadAsync(Char[], Int32, Int32) |
Geçerli metin okuyucusundan belirtilen en fazla karakter sayısını zaman uyumsuz olarak okur ve belirtilen dizinden başlayarak verileri bir arabelleğe yazar.Reads a specified maximum number of characters from the current text reader asynchronously and writes the data to a buffer, beginning at the specified index. (Devralındığı yer: TextReader) |
| ReadAsync(Memory<Char>, CancellationToken) |
Geçerli akıştan gelen karakterleri zaman uyumsuz olarak bir bellek bloğuna okur.Asynchronously reads the characters from the current stream into a memory block. |
| ReadAsync(Memory<Char>, CancellationToken) |
Geçerli akıştan gelen karakterleri zaman uyumsuz olarak bir bellek bloğuna okur.Asynchronously reads the characters from the current stream into a memory block. (Devralındığı yer: TextReader) |
| ReadBlock(Char[], Int32, Int32) |
Geçerli akıştan belirtilen en fazla karakter sayısını okur ve belirtilen dizinden başlayarak verileri bir arabelleğe yazar.Reads a specified maximum number of characters from the current stream and writes the data to a buffer, beginning at the specified index. |
| ReadBlock(Char[], Int32, Int32) |
Geçerli metin okuyucudan belirtilen en fazla sayıda karakteri okur ve belirtilen dizinden başlayarak verileri bir arabelleğe yazar.Reads a specified maximum number of characters from the current text reader and writes the data to a buffer, beginning at the specified index. (Devralındığı yer: TextReader) |
| ReadBlock(Span<Char>) |
Geçerli akıştan karakterleri okur ve verileri bir arabelleğe yazar.Reads the characters from the current stream and writes the data to a buffer. |
| ReadBlock(Span<Char>) |
Geçerli akıştan karakterleri okur ve verileri bir arabelleğe yazar.Reads the characters from the current stream and writes the data to a buffer. (Devralındığı yer: TextReader) |
| ReadBlockAsync(Char[], Int32, Int32) |
Geçerli akıştan belirtilen en fazla sayıda karakteri zaman uyumsuz olarak okur ve belirtilen dizinden başlayarak verileri bir arabelleğe yazar.Reads a specified maximum number of characters from the current stream asynchronously and writes the data to a buffer, beginning at the specified index. |
| ReadBlockAsync(Char[], Int32, Int32) |
Geçerli metin okuyucusundan belirtilen en fazla karakter sayısını zaman uyumsuz olarak okur ve belirtilen dizinden başlayarak verileri bir arabelleğe yazar.Reads a specified maximum number of characters from the current text reader asynchronously and writes the data to a buffer, beginning at the specified index. (Devralındığı yer: TextReader) |
| ReadBlockAsync(Memory<Char>, CancellationToken) |
Geçerli akıştaki karakterleri zaman uyumsuz olarak okur ve verileri bir arabelleğe yazar.Asynchronously reads the characters from the current stream and writes the data to a buffer. |
| ReadBlockAsync(Memory<Char>, CancellationToken) |
Geçerli akıştaki karakterleri zaman uyumsuz olarak okur ve verileri bir arabelleğe yazar.Asynchronously reads the characters from the current stream and writes the data to a buffer. (Devralındığı yer: TextReader) |
| ReadLine() |
Geçerli akıştan bir karakter satırını okur ve verileri bir dize olarak döndürür.Reads a line of characters from the current stream and returns the data as a string. |
| ReadLineAsync() |
Geçerli akıştan zaman uyumsuz bir karakter satırını okur ve verileri bir dize olarak döndürür.Reads a line of characters asynchronously from the current stream and returns the data as a string. |
| ReadLineAsync() |
Bir karakter satırını zaman uyumsuz olarak okur ve verileri bir dize olarak döndürür.Reads a line of characters asynchronously and returns the data as a string. (Devralındığı yer: TextReader) |
| ReadToEnd() |
Geçerli konumdan akışın sonuna kadar olan tüm karakterleri okur.Reads all characters from the current position to the end of the stream. |
| ReadToEndAsync() |
Geçerli konumdan akışın sonuna zaman uyumsuz olarak tüm karakterleri okur ve bunları tek bir dize olarak döndürür.Reads all characters from the current position to the end of the stream asynchronously and returns them as one string. |
| ReadToEndAsync() |
Geçerli konumdan metin okuyucunun sonuna zaman uyumsuz olarak tüm karakterleri okur ve bunları tek bir dize olarak döndürür.Reads all characters from the current position to the end of the text reader asynchronously and returns them as one string. (Devralındığı yer: TextReader) |
| ToString() |
Geçerli nesneyi temsil eden dizeyi döndürür.Returns a string that represents the current object. (Devralındığı yer: Object) |
Belirtik Arabirim Kullanımları
| IDisposable.Dispose() |
Bu üyenin açıklaması için bkz Dispose() ..For a description of this member, see Dispose(). (Devralındığı yer: TextReader) |
Şunlara uygulanır
Ayrıca bkz.
- Encoding
- Stream
- StreamWriter
- Dosya ve Akış G/ÇFile and Stream I/O
- Nasıl yapılır: Dosyadan Metin OkumaHow to: Read Text from a File
- Nasıl yapılır: Bir Dosyaya Metin YazmaHow to: Write Text to a File
- Nasıl yapılır: Yeni Oluşturulan bir Veri Dosyasını Okuma ve Dosyaya YazmaHow to: Read and Write to a Newly Created Data File