StreamReader Oluşturucular
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.
Belirtilen akış için sınıfının yeni bir örneğini StreamReader başlatır.
Aşırı Yüklemeler
StreamReader(Stream) |
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, 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(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) |
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(String, Encoding, Boolean) |
Belirtilen karakter kodlaması StreamReader ve bayt sırası işareti algılama seçeneğiyle belirtilen dosya adı için sınıfının yeni bir örneğini başlatır. |
StreamReader(String, FileStreamOptions) |
Varsayılan kodlamayı kullanarak belirtilen dosya yolu için sınıfının yeni bir örneğini StreamReader başlatır, dosyanın başında bayt sırası işaretlerinin algılanmasını sağlar ve belirtilen FileStreamOptions nesneyle yapılandırılır. |
StreamReader(String, Boolean) |
Belirtilen dosya adı için sınıfın StreamReader yeni bir örneğini, belirtilen bayt sipariş işareti algılama seçeneğiyle başlatır. |
StreamReader(Stream, Encoding) |
Belirtilen karakter kodlamasıyla 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(String) |
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 belirtilen dosya adı için sınıfının yeni bir örneğini StreamReader başlatır. |
StreamReader(Stream)
- Kaynak:
- StreamReader.cs
- Kaynak:
- StreamReader.cs
- Kaynak:
- StreamReader.cs
Belirtilen akış için sınıfının yeni bir örneğini StreamReader başlatır.
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)
Parametreler
- stream
- Stream
Okunacak akış.
Özel durumlar
stream
okumayı desteklemez.
stream
, null
değeridir.
Örnekler
Aşağıdaki kod örneği bu StreamReader oluşturucuyu gösterir.
using namespace System;
using namespace System::IO;
int main()
{
String^ path = "c:\\temp\\MyTest.txt";
try
{
if ( File::Exists( path ) )
{
File::Delete( path );
}
StreamWriter^ sw = gcnew StreamWriter( path );
try
{
sw->WriteLine( "This" );
sw->WriteLine( "is some text" );
sw->WriteLine( "to test" );
sw->WriteLine( "Reading" );
}
finally
{
delete sw;
}
FileStream^ fs = gcnew FileStream( path,FileMode::Open );
try
{
StreamReader^ sr = gcnew StreamReader( fs );
try
{
while ( sr->Peek() >= 0 )
{
Console::WriteLine( sr->ReadLine() );
}
}
finally
{
delete sr;
}
}
finally
{
delete fs;
}
}
catch ( Exception^ e )
{
Console::WriteLine( "The process failed: {0}", e );
}
}
using System;
using System.IO;
class Test
{
public static void Main()
{
string path = @"c:\temp\MyTest.txt";
try
{
if (File.Exists(path))
{
File.Delete(path);
}
using (StreamWriter sw = new StreamWriter(new FileStream(path, FileMode.CreateNew)))
{
sw.WriteLine("This");
sw.WriteLine("is some text");
sw.WriteLine("to test");
sw.WriteLine("reading");
}
using (StreamReader sr = new StreamReader(new FileStream(path, FileMode.Open)))
{
while (sr.Peek() >= 0)
{
Console.WriteLine(sr.ReadLine());
}
}
}
catch (Exception e)
{
Console.WriteLine("The process failed: {0}", e.ToString());
}
}
}
Imports System.IO
Public Class Test
Public Shared Sub Main()
Dim path As String = "c:\temp\MyTest.txt"
Try
If File.Exists(path) Then
File.Delete(path)
End If
Dim sw As StreamWriter = New StreamWriter(path)
sw.WriteLine("This")
sw.WriteLine("is some text")
sw.WriteLine("to test")
sw.WriteLine("Reading")
sw.Close()
Dim fs As FileStream = New FileStream(path, FileMode.Open)
Dim sr As StreamReader = New StreamReader(fs)
Do While sr.Peek() >= 0
Console.WriteLine(sr.ReadLine())
Loop
sr.Close()
fs.Close()
Catch e As Exception
Console.WriteLine("The process failed: {0}", e.ToString())
End Try
End Sub
End Class
Açıklamalar
Bu oluşturucu, BaseStream parametresini kullanarak stream
özelliğini ve iç arabellek boyutunu 1024 bayt olarak kodlamayı UTF8Encodingbaşlatır.
çağrıldığında StreamReaderStreamReader.Dispose nesne sağlanan Stream nesneyi çağırırDispose().
Dikkat
Belirli bir kültürel ayara sahip bir karakter kümesini derleyip aynı karakterleri farklı bir kültürel ayarla aldığınızda, karakterler yorumlanamaz ve bir özel durumun oluşturulmasına neden olabilir.
Yaygın G/Ç görevlerinin listesi için bkz. Ortak G/Ç Görevleri.
Ayrıca bkz.
Şunlara uygulanır
StreamReader(Stream, Encoding, Boolean, Int32, Boolean)
- Kaynak:
- StreamReader.cs
- Kaynak:
- StreamReader.cs
- Kaynak:
- StreamReader.cs
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.
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)
Parametreler
- stream
- Stream
Okunacak akış.
- encoding
- Encoding
Kullanılacak karakter kodlaması.
- detectEncodingFromByteOrderMarks
- Boolean
true
dosyanın başında bayt sırası işaretlerini aramak için; aksi takdirde , false
.
- bufferSize
- Int32
En düşük arabellek boyutu.
- leaveOpen
- Boolean
true
nesnesi atıldıktan sonra StreamReader akışı açık bırakmak için; aksi takdirde , false
.
Açıklamalar
parametresini leaveOpen
olarak true
StreamReader ayarlamadığınız sürece, çağrıldığında StreamReader.Dispose nesne sağlanan Stream nesnede çağrılırDispose().
Arabellek boyutu 16 bit karakter sayısıyla parametresi tarafından bufferSize
ayarlanır. İzin verilen en düşük boyuttan (128 karakter) küçükse bufferSize
, izin verilen en düşük boyut kullanılır.
Bu oluşturucu, nesneden ilk kez okuduğunuzda kodlamayı değiştirmenize StreamReader olanak tanır. detectEncodingFromByteOrderMarks
parametresi ise true
oluşturucu, akışın ilk dört baytına bakarak kodlamayı algılar. Dosya uygun bayt sırası işaretleriyle başlıyorsa UTF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 ve big-endian UTF-32 metinlerini otomatik olarak tanır. Aksi takdirde, kullanıcı tarafından sağlanan kodlama kullanılır. Daha fazla bilgi için yöntemine Encoding.GetPreamble bakın.
Not
bir Stream'den okurken, akışın iç arabelleğiyle aynı boyutta bir arabellek kullanmak daha verimlidir.
Dikkat
Belirli bir kültürel ayara sahip bir karakter kümesi derleyip aynı karakterleri farklı bir kültürel ayarla aldığınızda, karakterler doğru yorumlanmayabilir ve bir özel durumun oluşturulmasına neden olabilir.
Şunlara uygulanır
StreamReader(String, Encoding, Boolean, FileStreamOptions)
- Kaynak:
- StreamReader.cs
- Kaynak:
- StreamReader.cs
- Kaynak:
- StreamReader.cs
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.
public:
StreamReader(System::String ^ path, System::Text::Encoding ^ encoding, bool detectEncodingFromByteOrderMarks, System::IO::FileStreamOptions ^ options);
public StreamReader (string path, System.Text.Encoding encoding, bool detectEncodingFromByteOrderMarks, System.IO.FileStreamOptions options);
new System.IO.StreamReader : string * System.Text.Encoding * bool * System.IO.FileStreamOptions -> System.IO.StreamReader
Public Sub New (path As String, encoding As Encoding, detectEncodingFromByteOrderMarks As Boolean, options As FileStreamOptions)
Parametreler
- path
- String
Okunacak tam dosya yolu.
- encoding
- Encoding
Kullanılacak karakter kodlaması.
- detectEncodingFromByteOrderMarks
- Boolean
Dosyanın başında bayt sırası işaretleri aranıp aranmayacağını belirtir.
- options
- FileStreamOptions
Temel alınan FileStreamiçin yapılandırma seçeneklerini belirten bir nesne.
Özel durumlar
path
veya encoding
veya options
şeklindedir null
.
Dosya bulunamıyor.
Belirtilen yol, eşlenmemiş bir sürücüde olmak gibi geçersiz.
path
dosya adı, dizin adı veya birim etiketi için yanlış veya geçersiz bir söz dizimi içerir.
Ayrıca bkz.
- Encoding
- Dosya ve Stream G/Ç
- Nasıl yapılır: Dosyadan Metin Okuma
- Nasıl yapılır: Bir Dosyaya Metin Yazma
Şunlara uygulanır
StreamReader(String, Encoding, Boolean, Int32)
- Kaynak:
- StreamReader.cs
- Kaynak:
- StreamReader.cs
- Kaynak:
- StreamReader.cs
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.
public:
StreamReader(System::String ^ path, System::Text::Encoding ^ encoding, bool detectEncodingFromByteOrderMarks, int bufferSize);
public StreamReader (string path, System.Text.Encoding encoding, bool detectEncodingFromByteOrderMarks, int bufferSize);
new System.IO.StreamReader : string * System.Text.Encoding * bool * int -> System.IO.StreamReader
Public Sub New (path As String, encoding As Encoding, detectEncodingFromByteOrderMarks As Boolean, bufferSize As Integer)
Parametreler
- path
- String
Okunacak tam dosya yolu.
- encoding
- Encoding
Kullanılacak karakter kodlaması.
- detectEncodingFromByteOrderMarks
- Boolean
Dosyanın başında bayt sırası işaretleri aranıp aranmayacağını belirtir.
- bufferSize
- Int32
16 bit karakter sayısıyla en küçük arabellek boyutu.
Özel durumlar
path
boş bir dizedir ("").
path
veya encoding
şeklindedir null
.
Dosya bulunamıyor.
Belirtilen yol, eşlenmemiş bir sürücüde olmak gibi geçersiz.
path
dosya adı, dizin adı veya birim etiketi için yanlış veya geçersiz bir söz dizimi içerir.
buffersize
sıfırdan küçük veya sıfıra eşit.
Örnekler
Aşağıdaki kod örneği bu StreamReader oluşturucuyu gösterir.
void getNewStreamReader()
{
//Get a new StreamReader in ASCII format from a
//file using a buffer and byte order mark detection
StreamReader^ srAsciiFromFileFalse512 = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII,false,512 );
//Get a new StreamReader in ASCII format from a
//file with byte order mark detection = false
StreamReader^ srAsciiFromFileFalse = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII,false );
//Get a new StreamReader in ASCII format from a file
StreamReader^ srAsciiFromFile = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII );
//Get a new StreamReader from a
//file with byte order mark detection = false
StreamReader^ srFromFileFalse = gcnew StreamReader( "C:\\Temp\\Test.txt",false );
//Get a new StreamReader from a file
StreamReader^ srFromFile = gcnew StreamReader( "C:\\Temp\\Test.txt" );
//Get a new StreamReader in ASCII format from a
//FileStream with byte order mark detection = false and a buffer
StreamReader^ srAsciiFromStreamFalse512 = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),System::Text::Encoding::ASCII,false,512 );
//Get a new StreamReader in ASCII format from a
//FileStream with byte order mark detection = false
StreamReader^ srAsciiFromStreamFalse = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),System::Text::Encoding::ASCII,false );
//Get a new StreamReader in ASCII format from a FileStream
StreamReader^ srAsciiFromStream = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),System::Text::Encoding::ASCII );
//Get a new StreamReader from a
//FileStream with byte order mark detection = false
StreamReader^ srFromStreamFalse = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),false );
//Get a new StreamReader from a FileStream
StreamReader^ srFromStream = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ) );
}
private void getNewStreamReader()
{
//Get a new StreamReader in ASCII format from a
//file using a buffer and byte order mark detection
StreamReader srAsciiFromFileFalse512 =
new StreamReader("C:\\Temp\\Test.txt",
System.Text.Encoding.ASCII, false, 512);
//Get a new StreamReader in ASCII format from a
//file with byte order mark detection = false
StreamReader srAsciiFromFileFalse =
new StreamReader("C:\\Temp\\Test.txt",
System.Text.Encoding.ASCII, false);
//Get a new StreamReader in ASCII format from a file
StreamReader srAsciiFromFile =
new StreamReader("C:\\Temp\\Test.txt",
System.Text.Encoding.ASCII);
//Get a new StreamReader from a
//file with byte order mark detection = false
StreamReader srFromFileFalse =
new StreamReader("C:\\Temp\\Test.txt", false);
//Get a new StreamReader from a file
StreamReader srFromFile =
new StreamReader("C:\\Temp\\Test.txt");
//Get a new StreamReader in ASCII format from a
//FileStream with byte order mark detection = false and a buffer
StreamReader srAsciiFromStreamFalse512 = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
System.Text.Encoding.ASCII, false, 512);
//Get a new StreamReader in ASCII format from a
//FileStream with byte order mark detection = false
StreamReader srAsciiFromStreamFalse = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
System.Text.Encoding.ASCII, false);
//Get a new StreamReader in ASCII format from a FileStream
StreamReader srAsciiFromStream = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
System.Text.Encoding.ASCII);
//Get a new StreamReader from a
//FileStream with byte order mark detection = false
StreamReader srFromStreamFalse = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
false);
//Get a new StreamReader from a FileStream
StreamReader srFromStream = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"));
}
Private Sub getNewStreamReader()
Dim S As Stream = File.OpenRead("C:\Temp\Test.txt")
'Get a new StreamReader in ASCII format from a
'file using a buffer and byte order mark detection
Dim SrAsciiFromFileFalse512 As StreamReader = New StreamReader("C:\Temp\Test.txt", _
System.Text.Encoding.ASCII, False, 512)
'Get a new StreamReader in ASCII format from a
'file with byte order mark detection = false
Dim SrAsciiFromFileFalse As StreamReader = New StreamReader("C:\Temp\Test.txt", _
System.Text.Encoding.ASCII, False)
'Get a new StreamReader in ASCII format from a file
Dim SrAsciiFromFile As StreamReader = New StreamReader("C:\Temp\Test.txt", _
System.Text.Encoding.ASCII)
'Get a new StreamReader from a
'file with byte order mark detection = false
Dim SrFromFileFalse As StreamReader = New StreamReader("C:\Temp\Test.txt", False)
'Get a new StreamReader from a file
Dim SrFromFile As StreamReader = New StreamReader("C:\Temp\Test.txt")
'Get a new StreamReader in ASCII format from a
'FileStream with byte order mark detection = false and a buffer
Dim SrAsciiFromStreamFalse512 As StreamReader = New StreamReader(S, _
System.Text.Encoding.ASCII, False, 512)
'Get a new StreamReader in ASCII format from a
'FileStream with byte order mark detection = false
Dim SrAsciiFromStreamFalse = New StreamReader(S, _
System.Text.Encoding.ASCII, False)
'Get a new StreamReader in ASCII format from a FileStream
Dim SrAsciiFromStream As StreamReader = New StreamReader(S, _
System.Text.Encoding.ASCII)
'Get a new StreamReader from a
'FileStream with byte order mark detection = false
Dim SrFromStreamFalse As StreamReader = New StreamReader(S, False)
'Get a new StreamReader from a FileStream
Dim SrFromStream As StreamReader = New StreamReader(S)
End Sub
Açıklamalar
Bu oluşturucu, parametresi tarafından belirtilen kodlamayı encoding
başlatır.
Bu oluşturucu, nesneden ilk kez okuduğunuzda kodlamayı değiştirmenize StreamReader olanak tanır. parametresi, detectEncodingFromByteOrderMarks
akışın ilk dört baytına bakarak kodlamayı algılar. Dosya uygun bayt sırası işaretleriyle başlıyorsa UTF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 ve big-endian UTF-32 metinlerini otomatik olarak tanır. Aksi takdirde, kullanıcı tarafından sağlanan kodlama kullanılır. Daha fazla bilgi için yöntemine Encoding.GetPreamble bakın.
Arabellek boyutu 16 bit karakter sayısıyla parametresi tarafından bufferSize
ayarlanır. İzin verilen en düşük boyuttan (128 karakter) küçükse bufferSize
, izin verilen en düşük boyut kullanılır.
path
parametresi, Evrensel Adlandırma Kuralı (UNC) paylaşımındaki bir dosya da dahil olmak üzere bir dosya adı olabilir.
parametresinin path
diskte depolanan bir dosya olması gerekmez; akışları kullanarak erişimi destekleyen bir sistemin herhangi bir parçası olabilir.
Dikkat
Belirli bir kültürel ayara sahip bir karakter kümesini derleyip aynı karakterleri farklı bir kültürel ayarla aldığınızda, karakterler yorumlanamaz ve bir özel durumun oluşturulmasına neden olabilir.
Yaygın G/Ç görevlerinin listesi için bkz. Ortak G/Ç Görevleri.
Ayrıca bkz.
- Encoding
- Dosya ve Stream G/Ç
- Nasıl yapılır: Dosyadan Metin Okuma
- Nasıl yapılır: Bir Dosyaya Metin Yazma
Şunlara uygulanır
StreamReader(Stream, Encoding, Boolean, Int32)
- Kaynak:
- StreamReader.cs
- Kaynak:
- StreamReader.cs
- Kaynak:
- StreamReader.cs
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.
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)
Parametreler
- stream
- Stream
Okunacak akış.
- encoding
- Encoding
Kullanılacak karakter kodlaması.
- detectEncodingFromByteOrderMarks
- Boolean
Dosyanın başında bayt sırası işaretleri aranıp aranmayacağını belirtir.
- bufferSize
- Int32
En düşük arabellek boyutu.
Özel durumlar
Akış okumayı desteklemiyor.
stream
veya encoding
şeklindedir null
.
bufferSize
sıfırdan küçük veya sıfıra eşit.
Örnekler
Aşağıdaki kod örneği bu StreamReader oluşturucuyu gösterir.
void getNewStreamReader()
{
//Get a new StreamReader in ASCII format from a
//file using a buffer and byte order mark detection
StreamReader^ srAsciiFromFileFalse512 = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII,false,512 );
//Get a new StreamReader in ASCII format from a
//file with byte order mark detection = false
StreamReader^ srAsciiFromFileFalse = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII,false );
//Get a new StreamReader in ASCII format from a file
StreamReader^ srAsciiFromFile = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII );
//Get a new StreamReader from a
//file with byte order mark detection = false
StreamReader^ srFromFileFalse = gcnew StreamReader( "C:\\Temp\\Test.txt",false );
//Get a new StreamReader from a file
StreamReader^ srFromFile = gcnew StreamReader( "C:\\Temp\\Test.txt" );
//Get a new StreamReader in ASCII format from a
//FileStream with byte order mark detection = false and a buffer
StreamReader^ srAsciiFromStreamFalse512 = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),System::Text::Encoding::ASCII,false,512 );
//Get a new StreamReader in ASCII format from a
//FileStream with byte order mark detection = false
StreamReader^ srAsciiFromStreamFalse = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),System::Text::Encoding::ASCII,false );
//Get a new StreamReader in ASCII format from a FileStream
StreamReader^ srAsciiFromStream = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),System::Text::Encoding::ASCII );
//Get a new StreamReader from a
//FileStream with byte order mark detection = false
StreamReader^ srFromStreamFalse = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),false );
//Get a new StreamReader from a FileStream
StreamReader^ srFromStream = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ) );
}
private void getNewStreamReader()
{
//Get a new StreamReader in ASCII format from a
//file using a buffer and byte order mark detection
StreamReader srAsciiFromFileFalse512 =
new StreamReader("C:\\Temp\\Test.txt",
System.Text.Encoding.ASCII, false, 512);
//Get a new StreamReader in ASCII format from a
//file with byte order mark detection = false
StreamReader srAsciiFromFileFalse =
new StreamReader("C:\\Temp\\Test.txt",
System.Text.Encoding.ASCII, false);
//Get a new StreamReader in ASCII format from a file
StreamReader srAsciiFromFile =
new StreamReader("C:\\Temp\\Test.txt",
System.Text.Encoding.ASCII);
//Get a new StreamReader from a
//file with byte order mark detection = false
StreamReader srFromFileFalse =
new StreamReader("C:\\Temp\\Test.txt", false);
//Get a new StreamReader from a file
StreamReader srFromFile =
new StreamReader("C:\\Temp\\Test.txt");
//Get a new StreamReader in ASCII format from a
//FileStream with byte order mark detection = false and a buffer
StreamReader srAsciiFromStreamFalse512 = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
System.Text.Encoding.ASCII, false, 512);
//Get a new StreamReader in ASCII format from a
//FileStream with byte order mark detection = false
StreamReader srAsciiFromStreamFalse = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
System.Text.Encoding.ASCII, false);
//Get a new StreamReader in ASCII format from a FileStream
StreamReader srAsciiFromStream = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
System.Text.Encoding.ASCII);
//Get a new StreamReader from a
//FileStream with byte order mark detection = false
StreamReader srFromStreamFalse = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
false);
//Get a new StreamReader from a FileStream
StreamReader srFromStream = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"));
}
Private Sub getNewStreamReader()
Dim S As Stream = File.OpenRead("C:\Temp\Test.txt")
'Get a new StreamReader in ASCII format from a
'file using a buffer and byte order mark detection
Dim SrAsciiFromFileFalse512 As StreamReader = New StreamReader("C:\Temp\Test.txt", _
System.Text.Encoding.ASCII, False, 512)
'Get a new StreamReader in ASCII format from a
'file with byte order mark detection = false
Dim SrAsciiFromFileFalse As StreamReader = New StreamReader("C:\Temp\Test.txt", _
System.Text.Encoding.ASCII, False)
'Get a new StreamReader in ASCII format from a file
Dim SrAsciiFromFile As StreamReader = New StreamReader("C:\Temp\Test.txt", _
System.Text.Encoding.ASCII)
'Get a new StreamReader from a
'file with byte order mark detection = false
Dim SrFromFileFalse As StreamReader = New StreamReader("C:\Temp\Test.txt", False)
'Get a new StreamReader from a file
Dim SrFromFile As StreamReader = New StreamReader("C:\Temp\Test.txt")
'Get a new StreamReader in ASCII format from a
'FileStream with byte order mark detection = false and a buffer
Dim SrAsciiFromStreamFalse512 As StreamReader = New StreamReader(S, _
System.Text.Encoding.ASCII, False, 512)
'Get a new StreamReader in ASCII format from a
'FileStream with byte order mark detection = false
Dim SrAsciiFromStreamFalse = New StreamReader(S, _
System.Text.Encoding.ASCII, False)
'Get a new StreamReader in ASCII format from a FileStream
Dim SrAsciiFromStream As StreamReader = New StreamReader(S, _
System.Text.Encoding.ASCII)
'Get a new StreamReader from a
'FileStream with byte order mark detection = false
Dim SrFromStreamFalse As StreamReader = New StreamReader(S, False)
'Get a new StreamReader from a FileStream
Dim SrFromStream As StreamReader = New StreamReader(S)
End Sub
Açıklamalar
Arabellek boyutu 16 bit karakter sayısıyla parametresi tarafından bufferSize
ayarlanır. İzin verilen en düşük boyuttan (128 karakter) küçükse bufferSize
, izin verilen en düşük boyut kullanılır.
Bu oluşturucu, nesneden ilk kez okuduğunuzda kodlamayı değiştirmenize StreamReader olanak tanır. parametresi, detectEncodingFromByteOrderMarks
akışın ilk dört baytına bakarak kodlamayı algılar. Dosya uygun bayt sırası işaretleriyle başlıyorsa UTF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 ve big-endian UTF-32 metinlerini otomatik olarak tanır. Aksi takdirde, kullanıcı tarafından sağlanan kodlama kullanılır. Daha fazla bilgi için yöntemine Encoding.GetPreamble bakın.
nesnesi StreamReader çağrıldığında StreamReader.Dispose sağlanan Stream nesnede çağrılırDispose().
Not
' Streamden okurken, akışın iç arabelleğiyle aynı boyutta bir arabellek kullanmak daha verimlidir.
Dikkat
Belirli bir kültürel ayara sahip bir karakter kümesi derleyip aynı karakterleri farklı bir kültürel ayarla aldığınızda, karakterler yorumlanamayabilir ve bir özel durumun oluşturulmasına neden olabilir.
Yaygın G/Ç görevlerinin listesi için bkz. Ortak G/Ç Görevleri.
Ayrıca bkz.
- Encoding
- Dosya ve Stream G/Ç
- Nasıl yapılır: Dosyadan Metin Okuma
- Nasıl yapılır: Bir Dosyaya Metin Yazma
Şunlara uygulanır
StreamReader(Stream, Encoding, Boolean)
- Kaynak:
- StreamReader.cs
- Kaynak:
- StreamReader.cs
- Kaynak:
- StreamReader.cs
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.
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)
Parametreler
- stream
- Stream
Okunacak akış.
- encoding
- Encoding
Kullanılacak karakter kodlaması.
- detectEncodingFromByteOrderMarks
- Boolean
Dosyanın başında bayt sırası işaretleri aranıp aranmayacağını belirtir.
Özel durumlar
stream
okumayı desteklemez.
stream
veya encoding
şeklindedir null
.
Örnekler
Aşağıdaki kod örneği bu StreamReader oluşturucuyu gösterir.
void getNewStreamReader()
{
//Get a new StreamReader in ASCII format from a
//file using a buffer and byte order mark detection
StreamReader^ srAsciiFromFileFalse512 = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII,false,512 );
//Get a new StreamReader in ASCII format from a
//file with byte order mark detection = false
StreamReader^ srAsciiFromFileFalse = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII,false );
//Get a new StreamReader in ASCII format from a file
StreamReader^ srAsciiFromFile = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII );
//Get a new StreamReader from a
//file with byte order mark detection = false
StreamReader^ srFromFileFalse = gcnew StreamReader( "C:\\Temp\\Test.txt",false );
//Get a new StreamReader from a file
StreamReader^ srFromFile = gcnew StreamReader( "C:\\Temp\\Test.txt" );
//Get a new StreamReader in ASCII format from a
//FileStream with byte order mark detection = false and a buffer
StreamReader^ srAsciiFromStreamFalse512 = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),System::Text::Encoding::ASCII,false,512 );
//Get a new StreamReader in ASCII format from a
//FileStream with byte order mark detection = false
StreamReader^ srAsciiFromStreamFalse = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),System::Text::Encoding::ASCII,false );
//Get a new StreamReader in ASCII format from a FileStream
StreamReader^ srAsciiFromStream = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),System::Text::Encoding::ASCII );
//Get a new StreamReader from a
//FileStream with byte order mark detection = false
StreamReader^ srFromStreamFalse = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),false );
//Get a new StreamReader from a FileStream
StreamReader^ srFromStream = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ) );
}
private void getNewStreamReader()
{
//Get a new StreamReader in ASCII format from a
//file using a buffer and byte order mark detection
StreamReader srAsciiFromFileFalse512 =
new StreamReader("C:\\Temp\\Test.txt",
System.Text.Encoding.ASCII, false, 512);
//Get a new StreamReader in ASCII format from a
//file with byte order mark detection = false
StreamReader srAsciiFromFileFalse =
new StreamReader("C:\\Temp\\Test.txt",
System.Text.Encoding.ASCII, false);
//Get a new StreamReader in ASCII format from a file
StreamReader srAsciiFromFile =
new StreamReader("C:\\Temp\\Test.txt",
System.Text.Encoding.ASCII);
//Get a new StreamReader from a
//file with byte order mark detection = false
StreamReader srFromFileFalse =
new StreamReader("C:\\Temp\\Test.txt", false);
//Get a new StreamReader from a file
StreamReader srFromFile =
new StreamReader("C:\\Temp\\Test.txt");
//Get a new StreamReader in ASCII format from a
//FileStream with byte order mark detection = false and a buffer
StreamReader srAsciiFromStreamFalse512 = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
System.Text.Encoding.ASCII, false, 512);
//Get a new StreamReader in ASCII format from a
//FileStream with byte order mark detection = false
StreamReader srAsciiFromStreamFalse = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
System.Text.Encoding.ASCII, false);
//Get a new StreamReader in ASCII format from a FileStream
StreamReader srAsciiFromStream = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
System.Text.Encoding.ASCII);
//Get a new StreamReader from a
//FileStream with byte order mark detection = false
StreamReader srFromStreamFalse = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
false);
//Get a new StreamReader from a FileStream
StreamReader srFromStream = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"));
}
Private Sub getNewStreamReader()
Dim S As Stream = File.OpenRead("C:\Temp\Test.txt")
'Get a new StreamReader in ASCII format from a
'file using a buffer and byte order mark detection
Dim SrAsciiFromFileFalse512 As StreamReader = New StreamReader("C:\Temp\Test.txt", _
System.Text.Encoding.ASCII, False, 512)
'Get a new StreamReader in ASCII format from a
'file with byte order mark detection = false
Dim SrAsciiFromFileFalse As StreamReader = New StreamReader("C:\Temp\Test.txt", _
System.Text.Encoding.ASCII, False)
'Get a new StreamReader in ASCII format from a file
Dim SrAsciiFromFile As StreamReader = New StreamReader("C:\Temp\Test.txt", _
System.Text.Encoding.ASCII)
'Get a new StreamReader from a
'file with byte order mark detection = false
Dim SrFromFileFalse As StreamReader = New StreamReader("C:\Temp\Test.txt", False)
'Get a new StreamReader from a file
Dim SrFromFile As StreamReader = New StreamReader("C:\Temp\Test.txt")
'Get a new StreamReader in ASCII format from a
'FileStream with byte order mark detection = false and a buffer
Dim SrAsciiFromStreamFalse512 As StreamReader = New StreamReader(S, _
System.Text.Encoding.ASCII, False, 512)
'Get a new StreamReader in ASCII format from a
'FileStream with byte order mark detection = false
Dim SrAsciiFromStreamFalse = New StreamReader(S, _
System.Text.Encoding.ASCII, False)
'Get a new StreamReader in ASCII format from a FileStream
Dim SrAsciiFromStream As StreamReader = New StreamReader(S, _
System.Text.Encoding.ASCII)
'Get a new StreamReader from a
'FileStream with byte order mark detection = false
Dim SrFromStreamFalse As StreamReader = New StreamReader(S, False)
'Get a new StreamReader from a FileStream
Dim SrFromStream As StreamReader = New StreamReader(S)
End Sub
Açıklamalar
Bu oluşturucu, parametre tarafından encoding
belirtilen kodlamayı, parametresini BaseStreamstream
kullanan özelliği ve iç arabellek boyutunu 1024 bayt olarak başlatır.
parametresi, detectEncodingFromByteOrderMarks
akışın ilk dört baytına bakarak kodlamayı algılar. Dosya uygun bayt sırası işaretleriyle başlıyorsa UTF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 ve big-endian UTF-32 metinlerini otomatik olarak tanır. Aksi takdirde, kullanıcı tarafından sağlanan kodlama kullanılır. Daha fazla bilgi için yöntemine Encoding.GetPreamble bakın.
nesnesi StreamReader çağrıldığında StreamReader.Dispose sağlanan Stream nesnede çağrılırDispose().
Dikkat
Belirli bir kültürel ayara sahip bir karakter kümesi derleyip aynı karakterleri farklı bir kültürel ayarla aldığınızda, karakterler yorumlanamayabilir ve bir özel durumun oluşturulmasına neden olabilir.
Yaygın G/Ç görevlerinin listesi için bkz. Ortak G/Ç Görevleri.
Ayrıca bkz.
- Encoding
- Dosya ve Stream G/Ç
- Nasıl yapılır: Dosyadan Metin Okuma
- Nasıl yapılır: Bir Dosyaya Metin Yazma
Şunlara uygulanır
StreamReader(String, Encoding, Boolean)
- Kaynak:
- StreamReader.cs
- Kaynak:
- StreamReader.cs
- Kaynak:
- StreamReader.cs
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.
public:
StreamReader(System::String ^ path, System::Text::Encoding ^ encoding, bool detectEncodingFromByteOrderMarks);
public StreamReader (string path, System.Text.Encoding encoding, bool detectEncodingFromByteOrderMarks);
new System.IO.StreamReader : string * System.Text.Encoding * bool -> System.IO.StreamReader
Public Sub New (path As String, encoding As Encoding, detectEncodingFromByteOrderMarks As Boolean)
Parametreler
- path
- String
Okunacak tam dosya yolu.
- encoding
- Encoding
Kullanılacak karakter kodlaması.
- detectEncodingFromByteOrderMarks
- Boolean
Dosyanın başında bayt sırası işaretleri aranıp aranmayacağını belirtir.
Özel durumlar
path
boş bir dizedir ("").
path
veya encoding
şeklindedir null
.
Dosya bulunamıyor.
Belirtilen yol, eşlenmemiş bir sürücüde olmak gibi geçersiz.
path
dosya adı, dizin adı veya birim etiketi için yanlış veya geçersiz bir söz dizimi içerir.
Örnekler
Aşağıdaki kod örneği bu StreamReader oluşturucuyu gösterir.
void getNewStreamReader()
{
//Get a new StreamReader in ASCII format from a
//file using a buffer and byte order mark detection
StreamReader^ srAsciiFromFileFalse512 = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII,false,512 );
//Get a new StreamReader in ASCII format from a
//file with byte order mark detection = false
StreamReader^ srAsciiFromFileFalse = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII,false );
//Get a new StreamReader in ASCII format from a file
StreamReader^ srAsciiFromFile = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII );
//Get a new StreamReader from a
//file with byte order mark detection = false
StreamReader^ srFromFileFalse = gcnew StreamReader( "C:\\Temp\\Test.txt",false );
//Get a new StreamReader from a file
StreamReader^ srFromFile = gcnew StreamReader( "C:\\Temp\\Test.txt" );
//Get a new StreamReader in ASCII format from a
//FileStream with byte order mark detection = false and a buffer
StreamReader^ srAsciiFromStreamFalse512 = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),System::Text::Encoding::ASCII,false,512 );
//Get a new StreamReader in ASCII format from a
//FileStream with byte order mark detection = false
StreamReader^ srAsciiFromStreamFalse = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),System::Text::Encoding::ASCII,false );
//Get a new StreamReader in ASCII format from a FileStream
StreamReader^ srAsciiFromStream = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),System::Text::Encoding::ASCII );
//Get a new StreamReader from a
//FileStream with byte order mark detection = false
StreamReader^ srFromStreamFalse = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),false );
//Get a new StreamReader from a FileStream
StreamReader^ srFromStream = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ) );
}
private void getNewStreamReader()
{
//Get a new StreamReader in ASCII format from a
//file using a buffer and byte order mark detection
StreamReader srAsciiFromFileFalse512 =
new StreamReader("C:\\Temp\\Test.txt",
System.Text.Encoding.ASCII, false, 512);
//Get a new StreamReader in ASCII format from a
//file with byte order mark detection = false
StreamReader srAsciiFromFileFalse =
new StreamReader("C:\\Temp\\Test.txt",
System.Text.Encoding.ASCII, false);
//Get a new StreamReader in ASCII format from a file
StreamReader srAsciiFromFile =
new StreamReader("C:\\Temp\\Test.txt",
System.Text.Encoding.ASCII);
//Get a new StreamReader from a
//file with byte order mark detection = false
StreamReader srFromFileFalse =
new StreamReader("C:\\Temp\\Test.txt", false);
//Get a new StreamReader from a file
StreamReader srFromFile =
new StreamReader("C:\\Temp\\Test.txt");
//Get a new StreamReader in ASCII format from a
//FileStream with byte order mark detection = false and a buffer
StreamReader srAsciiFromStreamFalse512 = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
System.Text.Encoding.ASCII, false, 512);
//Get a new StreamReader in ASCII format from a
//FileStream with byte order mark detection = false
StreamReader srAsciiFromStreamFalse = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
System.Text.Encoding.ASCII, false);
//Get a new StreamReader in ASCII format from a FileStream
StreamReader srAsciiFromStream = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
System.Text.Encoding.ASCII);
//Get a new StreamReader from a
//FileStream with byte order mark detection = false
StreamReader srFromStreamFalse = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
false);
//Get a new StreamReader from a FileStream
StreamReader srFromStream = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"));
}
Private Sub getNewStreamReader()
Dim S As Stream = File.OpenRead("C:\Temp\Test.txt")
'Get a new StreamReader in ASCII format from a
'file using a buffer and byte order mark detection
Dim SrAsciiFromFileFalse512 As StreamReader = New StreamReader("C:\Temp\Test.txt", _
System.Text.Encoding.ASCII, False, 512)
'Get a new StreamReader in ASCII format from a
'file with byte order mark detection = false
Dim SrAsciiFromFileFalse As StreamReader = New StreamReader("C:\Temp\Test.txt", _
System.Text.Encoding.ASCII, False)
'Get a new StreamReader in ASCII format from a file
Dim SrAsciiFromFile As StreamReader = New StreamReader("C:\Temp\Test.txt", _
System.Text.Encoding.ASCII)
'Get a new StreamReader from a
'file with byte order mark detection = false
Dim SrFromFileFalse As StreamReader = New StreamReader("C:\Temp\Test.txt", False)
'Get a new StreamReader from a file
Dim SrFromFile As StreamReader = New StreamReader("C:\Temp\Test.txt")
'Get a new StreamReader in ASCII format from a
'FileStream with byte order mark detection = false and a buffer
Dim SrAsciiFromStreamFalse512 As StreamReader = New StreamReader(S, _
System.Text.Encoding.ASCII, False, 512)
'Get a new StreamReader in ASCII format from a
'FileStream with byte order mark detection = false
Dim SrAsciiFromStreamFalse = New StreamReader(S, _
System.Text.Encoding.ASCII, False)
'Get a new StreamReader in ASCII format from a FileStream
Dim SrAsciiFromStream As StreamReader = New StreamReader(S, _
System.Text.Encoding.ASCII)
'Get a new StreamReader from a
'FileStream with byte order mark detection = false
Dim SrFromStreamFalse As StreamReader = New StreamReader(S, False)
'Get a new StreamReader from a FileStream
Dim SrFromStream As StreamReader = New StreamReader(S)
End Sub
Açıklamalar
Bu oluşturucu, parametresi tarafından encoding
belirtilen kodlamayı ve iç arabellek boyutunu 1024 bayt olarak başlatır.
parametresi, detectEncodingFromByteOrderMarks
akışın ilk dört baytına bakarak kodlamayı algılar. Dosya uygun bayt sırası işaretleriyle başlıyorsa UTF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 ve big-endian UTF-32 metinlerini otomatik olarak tanır. Aksi takdirde, kullanıcı tarafından sağlanan kodlama kullanılır. Daha fazla bilgi için yöntemine Encoding.GetPreamble bakın.
path
Parametresi, Evrensel Adlandırma Kuralı (UNC) paylaşımındaki bir dosya da dahil olmak üzere bir dosya adı olabilir.
parametresinin path
diskte depolanan bir dosya olması gerekmez; akışları kullanarak erişimi destekleyen bir sistemin herhangi bir parçası olabilir.
Dikkat
Belirli bir kültürel ayara sahip bir karakter kümesi derleyip aynı karakterleri farklı bir kültürel ayarla aldığınızda, karakterler yorumlanamayabilir ve bir özel durumun oluşturulmasına neden olabilir.
Yaygın G/Ç görevlerinin listesi için bkz. Ortak G/Ç Görevleri.
Ayrıca bkz.
- Encoding
- Dosya ve Stream G/Ç
- Nasıl yapılır: Dosyadan Metin Okuma
- Nasıl yapılır: Bir Dosyaya Metin Yazma
Şunlara uygulanır
StreamReader(String, FileStreamOptions)
- Kaynak:
- StreamReader.cs
- Kaynak:
- StreamReader.cs
- Kaynak:
- StreamReader.cs
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.
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)
Parametreler
- path
- String
Okunacak tam dosya yolu.
- options
- FileStreamOptions
Temel alınan FileStreamiçin yapılandırma seçeneklerini belirten bir nesne.
Özel durumlar
stream
okunamaz.
-veya-
<code data-dev-comment-type="paramref">path</code> is an empty string ("").
path
veya options
şeklindedir null
.
Dosya bulunamıyor.
Belirtilen yol, eşlenmemiş bir sürücüde olmak gibi geçersiz.
path
dosya adı, dizin adı veya birim etiketi için yanlış veya geçersiz bir söz dizimi içerir.
Ayrıca bkz.
- Encoding
- Dosya ve Stream G/Ç
- Nasıl yapılır: Dosyadan Metin Okuma
- Nasıl yapılır: Bir Dosyaya Metin Yazma
Şunlara uygulanır
StreamReader(String, Boolean)
- Kaynak:
- StreamReader.cs
- Kaynak:
- StreamReader.cs
- Kaynak:
- StreamReader.cs
Belirtilen dosya adı için sınıfın StreamReader yeni bir örneğini, belirtilen bayt sipariş işareti algılama seçeneğiyle başlatır.
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)
Parametreler
- path
- String
Okunacak tam dosya yolu.
- detectEncodingFromByteOrderMarks
- Boolean
Dosyanın başında bayt sırası işaretleri aranıp aranmayacağını belirtir.
Özel durumlar
path
boş bir dizedir ("").
path
, null
değeridir.
Dosya bulunamıyor.
Belirtilen yol, eşlenmemiş bir sürücüde olmak gibi geçersiz.
path
dosya adı, dizin adı veya birim etiketi için yanlış veya geçersiz bir söz dizimi içerir.
Örnekler
Aşağıdaki kod örneği bu StreamReader oluşturucuyu gösterir.
void getNewStreamReader()
{
//Get a new StreamReader in ASCII format from a
//file using a buffer and byte order mark detection
StreamReader^ srAsciiFromFileFalse512 = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII,false,512 );
//Get a new StreamReader in ASCII format from a
//file with byte order mark detection = false
StreamReader^ srAsciiFromFileFalse = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII,false );
//Get a new StreamReader in ASCII format from a file
StreamReader^ srAsciiFromFile = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII );
//Get a new StreamReader from a
//file with byte order mark detection = false
StreamReader^ srFromFileFalse = gcnew StreamReader( "C:\\Temp\\Test.txt",false );
//Get a new StreamReader from a file
StreamReader^ srFromFile = gcnew StreamReader( "C:\\Temp\\Test.txt" );
//Get a new StreamReader in ASCII format from a
//FileStream with byte order mark detection = false and a buffer
StreamReader^ srAsciiFromStreamFalse512 = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),System::Text::Encoding::ASCII,false,512 );
//Get a new StreamReader in ASCII format from a
//FileStream with byte order mark detection = false
StreamReader^ srAsciiFromStreamFalse = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),System::Text::Encoding::ASCII,false );
//Get a new StreamReader in ASCII format from a FileStream
StreamReader^ srAsciiFromStream = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),System::Text::Encoding::ASCII );
//Get a new StreamReader from a
//FileStream with byte order mark detection = false
StreamReader^ srFromStreamFalse = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),false );
//Get a new StreamReader from a FileStream
StreamReader^ srFromStream = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ) );
}
private void getNewStreamReader()
{
//Get a new StreamReader in ASCII format from a
//file using a buffer and byte order mark detection
StreamReader srAsciiFromFileFalse512 =
new StreamReader("C:\\Temp\\Test.txt",
System.Text.Encoding.ASCII, false, 512);
//Get a new StreamReader in ASCII format from a
//file with byte order mark detection = false
StreamReader srAsciiFromFileFalse =
new StreamReader("C:\\Temp\\Test.txt",
System.Text.Encoding.ASCII, false);
//Get a new StreamReader in ASCII format from a file
StreamReader srAsciiFromFile =
new StreamReader("C:\\Temp\\Test.txt",
System.Text.Encoding.ASCII);
//Get a new StreamReader from a
//file with byte order mark detection = false
StreamReader srFromFileFalse =
new StreamReader("C:\\Temp\\Test.txt", false);
//Get a new StreamReader from a file
StreamReader srFromFile =
new StreamReader("C:\\Temp\\Test.txt");
//Get a new StreamReader in ASCII format from a
//FileStream with byte order mark detection = false and a buffer
StreamReader srAsciiFromStreamFalse512 = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
System.Text.Encoding.ASCII, false, 512);
//Get a new StreamReader in ASCII format from a
//FileStream with byte order mark detection = false
StreamReader srAsciiFromStreamFalse = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
System.Text.Encoding.ASCII, false);
//Get a new StreamReader in ASCII format from a FileStream
StreamReader srAsciiFromStream = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
System.Text.Encoding.ASCII);
//Get a new StreamReader from a
//FileStream with byte order mark detection = false
StreamReader srFromStreamFalse = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
false);
//Get a new StreamReader from a FileStream
StreamReader srFromStream = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"));
}
Private Sub getNewStreamReader()
Dim S As Stream = File.OpenRead("C:\Temp\Test.txt")
'Get a new StreamReader in ASCII format from a
'file using a buffer and byte order mark detection
Dim SrAsciiFromFileFalse512 As StreamReader = New StreamReader("C:\Temp\Test.txt", _
System.Text.Encoding.ASCII, False, 512)
'Get a new StreamReader in ASCII format from a
'file with byte order mark detection = false
Dim SrAsciiFromFileFalse As StreamReader = New StreamReader("C:\Temp\Test.txt", _
System.Text.Encoding.ASCII, False)
'Get a new StreamReader in ASCII format from a file
Dim SrAsciiFromFile As StreamReader = New StreamReader("C:\Temp\Test.txt", _
System.Text.Encoding.ASCII)
'Get a new StreamReader from a
'file with byte order mark detection = false
Dim SrFromFileFalse As StreamReader = New StreamReader("C:\Temp\Test.txt", False)
'Get a new StreamReader from a file
Dim SrFromFile As StreamReader = New StreamReader("C:\Temp\Test.txt")
'Get a new StreamReader in ASCII format from a
'FileStream with byte order mark detection = false and a buffer
Dim SrAsciiFromStreamFalse512 As StreamReader = New StreamReader(S, _
System.Text.Encoding.ASCII, False, 512)
'Get a new StreamReader in ASCII format from a
'FileStream with byte order mark detection = false
Dim SrAsciiFromStreamFalse = New StreamReader(S, _
System.Text.Encoding.ASCII, False)
'Get a new StreamReader in ASCII format from a FileStream
Dim SrAsciiFromStream As StreamReader = New StreamReader(S, _
System.Text.Encoding.ASCII)
'Get a new StreamReader from a
'FileStream with byte order mark detection = false
Dim SrFromStreamFalse As StreamReader = New StreamReader(S, False)
'Get a new StreamReader from a FileStream
Dim SrFromStream As StreamReader = New StreamReader(S)
End Sub
Açıklamalar
Bu oluşturucu, BaseStream parametresini kullanarak stream
özelliğini ve iç arabellek boyutunu 1024 bayt olarak kodlamayı UTF8Encodingbaşlatır.
path
Parametresi, Evrensel Adlandırma Kuralı (UNC) paylaşımındaki bir dosya da dahil olmak üzere bir dosya adı olabilir.
parametresinin path
diskte depolanan bir dosya olması gerekmez; akışları kullanarak erişimi destekleyen bir sistemin herhangi bir parçası olabilir.
parametresi, detectEncodingFromByteOrderMarks
akışın ilk dört baytına bakarak kodlamayı algılar. Dosya uygun bayt sırası işaretleriyle başlıyorsa UTF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 ve big-endian UTF-32 metinlerini otomatik olarak tanır. Aksi takdirde, UTF8Encoding kullanılır. Daha fazla bilgi için yöntemine Encoding.GetPreamble bakın.
Yaygın G/Ç görevlerinin listesi için bkz. Ortak G/Ç Görevleri.
Ayrıca bkz.
Şunlara uygulanır
StreamReader(Stream, Encoding)
- Kaynak:
- StreamReader.cs
- Kaynak:
- StreamReader.cs
- Kaynak:
- StreamReader.cs
Belirtilen karakter kodlamasıyla belirtilen akış için sınıfının yeni bir örneğini StreamReader başlatır.
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)
Parametreler
- stream
- Stream
Okunacak akış.
- encoding
- Encoding
Kullanılacak karakter kodlaması.
Özel durumlar
stream
okumayı desteklemez.
stream
veya encoding
şeklindedir null
.
Örnekler
Aşağıdaki kod örneği bu StreamReader oluşturucuyu gösterir.
void getNewStreamReader()
{
//Get a new StreamReader in ASCII format from a
//file using a buffer and byte order mark detection
StreamReader^ srAsciiFromFileFalse512 = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII,false,512 );
//Get a new StreamReader in ASCII format from a
//file with byte order mark detection = false
StreamReader^ srAsciiFromFileFalse = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII,false );
//Get a new StreamReader in ASCII format from a file
StreamReader^ srAsciiFromFile = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII );
//Get a new StreamReader from a
//file with byte order mark detection = false
StreamReader^ srFromFileFalse = gcnew StreamReader( "C:\\Temp\\Test.txt",false );
//Get a new StreamReader from a file
StreamReader^ srFromFile = gcnew StreamReader( "C:\\Temp\\Test.txt" );
//Get a new StreamReader in ASCII format from a
//FileStream with byte order mark detection = false and a buffer
StreamReader^ srAsciiFromStreamFalse512 = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),System::Text::Encoding::ASCII,false,512 );
//Get a new StreamReader in ASCII format from a
//FileStream with byte order mark detection = false
StreamReader^ srAsciiFromStreamFalse = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),System::Text::Encoding::ASCII,false );
//Get a new StreamReader in ASCII format from a FileStream
StreamReader^ srAsciiFromStream = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),System::Text::Encoding::ASCII );
//Get a new StreamReader from a
//FileStream with byte order mark detection = false
StreamReader^ srFromStreamFalse = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),false );
//Get a new StreamReader from a FileStream
StreamReader^ srFromStream = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ) );
}
private void getNewStreamReader()
{
//Get a new StreamReader in ASCII format from a
//file using a buffer and byte order mark detection
StreamReader srAsciiFromFileFalse512 =
new StreamReader("C:\\Temp\\Test.txt",
System.Text.Encoding.ASCII, false, 512);
//Get a new StreamReader in ASCII format from a
//file with byte order mark detection = false
StreamReader srAsciiFromFileFalse =
new StreamReader("C:\\Temp\\Test.txt",
System.Text.Encoding.ASCII, false);
//Get a new StreamReader in ASCII format from a file
StreamReader srAsciiFromFile =
new StreamReader("C:\\Temp\\Test.txt",
System.Text.Encoding.ASCII);
//Get a new StreamReader from a
//file with byte order mark detection = false
StreamReader srFromFileFalse =
new StreamReader("C:\\Temp\\Test.txt", false);
//Get a new StreamReader from a file
StreamReader srFromFile =
new StreamReader("C:\\Temp\\Test.txt");
//Get a new StreamReader in ASCII format from a
//FileStream with byte order mark detection = false and a buffer
StreamReader srAsciiFromStreamFalse512 = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
System.Text.Encoding.ASCII, false, 512);
//Get a new StreamReader in ASCII format from a
//FileStream with byte order mark detection = false
StreamReader srAsciiFromStreamFalse = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
System.Text.Encoding.ASCII, false);
//Get a new StreamReader in ASCII format from a FileStream
StreamReader srAsciiFromStream = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
System.Text.Encoding.ASCII);
//Get a new StreamReader from a
//FileStream with byte order mark detection = false
StreamReader srFromStreamFalse = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
false);
//Get a new StreamReader from a FileStream
StreamReader srFromStream = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"));
}
Private Sub getNewStreamReader()
Dim S As Stream = File.OpenRead("C:\Temp\Test.txt")
'Get a new StreamReader in ASCII format from a
'file using a buffer and byte order mark detection
Dim SrAsciiFromFileFalse512 As StreamReader = New StreamReader("C:\Temp\Test.txt", _
System.Text.Encoding.ASCII, False, 512)
'Get a new StreamReader in ASCII format from a
'file with byte order mark detection = false
Dim SrAsciiFromFileFalse As StreamReader = New StreamReader("C:\Temp\Test.txt", _
System.Text.Encoding.ASCII, False)
'Get a new StreamReader in ASCII format from a file
Dim SrAsciiFromFile As StreamReader = New StreamReader("C:\Temp\Test.txt", _
System.Text.Encoding.ASCII)
'Get a new StreamReader from a
'file with byte order mark detection = false
Dim SrFromFileFalse As StreamReader = New StreamReader("C:\Temp\Test.txt", False)
'Get a new StreamReader from a file
Dim SrFromFile As StreamReader = New StreamReader("C:\Temp\Test.txt")
'Get a new StreamReader in ASCII format from a
'FileStream with byte order mark detection = false and a buffer
Dim SrAsciiFromStreamFalse512 As StreamReader = New StreamReader(S, _
System.Text.Encoding.ASCII, False, 512)
'Get a new StreamReader in ASCII format from a
'FileStream with byte order mark detection = false
Dim SrAsciiFromStreamFalse = New StreamReader(S, _
System.Text.Encoding.ASCII, False)
'Get a new StreamReader in ASCII format from a FileStream
Dim SrAsciiFromStream As StreamReader = New StreamReader(S, _
System.Text.Encoding.ASCII)
'Get a new StreamReader from a
'FileStream with byte order mark detection = false
Dim SrFromStreamFalse As StreamReader = New StreamReader(S, False)
'Get a new StreamReader from a FileStream
Dim SrFromStream As StreamReader = New StreamReader(S)
End Sub
Açıklamalar
Karakter kodlama parametresi tarafından encoding
ayarlanır ve arabellek boyutu 1024 bayt olarak ayarlanır. nesnesi, StreamReader akışın ilk dört baytına bakarak kodlamayı algılamaya çalışır. Dosya uygun bayt sırası işaretleriyle başlıyorsa UTF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 ve big-endian UTF-32 metinlerini otomatik olarak tanır. Aksi takdirde, kullanıcı tarafından sağlanan kodlama kullanılır. Daha fazla bilgi için yöntemine Encoding.GetPreamble bakın.
çağrıldığında StreamReaderStreamReader.Dispose nesne sağlanan Stream nesneyi çağırırDispose().
Dikkat
Belirli bir kültürel ayara sahip bir karakter kümesini derleyip aynı karakterleri farklı bir kültürel ayarla aldığınızda, karakterler yorumlanamaz ve bir özel durumun oluşturulmasına neden olabilir.
Yaygın G/Ç görevlerinin listesi için bkz. Ortak G/Ç Görevleri.
Ayrıca bkz.
- Encoding
- Dosya ve Stream G/Ç
- Nasıl yapılır: Dosyadan Metin Okuma
- Nasıl yapılır: Bir Dosyaya Metin Yazma
Şunlara uygulanır
StreamReader(Stream, Boolean)
- Kaynak:
- StreamReader.cs
- Kaynak:
- StreamReader.cs
- Kaynak:
- StreamReader.cs
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.
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)
Parametreler
- stream
- Stream
Okunacak akış.
- detectEncodingFromByteOrderMarks
- Boolean
Dosyanın başında bayt sırası işaretleri aranıp aranmayacağını belirtir.
Özel durumlar
stream
okumayı desteklemez.
stream
, null
değeridir.
Örnekler
Aşağıdaki kod örneği bu StreamReader oluşturucuyu gösterir.
void getNewStreamReader()
{
//Get a new StreamReader in ASCII format from a
//file using a buffer and byte order mark detection
StreamReader^ srAsciiFromFileFalse512 = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII,false,512 );
//Get a new StreamReader in ASCII format from a
//file with byte order mark detection = false
StreamReader^ srAsciiFromFileFalse = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII,false );
//Get a new StreamReader in ASCII format from a file
StreamReader^ srAsciiFromFile = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII );
//Get a new StreamReader from a
//file with byte order mark detection = false
StreamReader^ srFromFileFalse = gcnew StreamReader( "C:\\Temp\\Test.txt",false );
//Get a new StreamReader from a file
StreamReader^ srFromFile = gcnew StreamReader( "C:\\Temp\\Test.txt" );
//Get a new StreamReader in ASCII format from a
//FileStream with byte order mark detection = false and a buffer
StreamReader^ srAsciiFromStreamFalse512 = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),System::Text::Encoding::ASCII,false,512 );
//Get a new StreamReader in ASCII format from a
//FileStream with byte order mark detection = false
StreamReader^ srAsciiFromStreamFalse = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),System::Text::Encoding::ASCII,false );
//Get a new StreamReader in ASCII format from a FileStream
StreamReader^ srAsciiFromStream = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),System::Text::Encoding::ASCII );
//Get a new StreamReader from a
//FileStream with byte order mark detection = false
StreamReader^ srFromStreamFalse = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),false );
//Get a new StreamReader from a FileStream
StreamReader^ srFromStream = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ) );
}
private void getNewStreamReader()
{
//Get a new StreamReader in ASCII format from a
//file using a buffer and byte order mark detection
StreamReader srAsciiFromFileFalse512 =
new StreamReader("C:\\Temp\\Test.txt",
System.Text.Encoding.ASCII, false, 512);
//Get a new StreamReader in ASCII format from a
//file with byte order mark detection = false
StreamReader srAsciiFromFileFalse =
new StreamReader("C:\\Temp\\Test.txt",
System.Text.Encoding.ASCII, false);
//Get a new StreamReader in ASCII format from a file
StreamReader srAsciiFromFile =
new StreamReader("C:\\Temp\\Test.txt",
System.Text.Encoding.ASCII);
//Get a new StreamReader from a
//file with byte order mark detection = false
StreamReader srFromFileFalse =
new StreamReader("C:\\Temp\\Test.txt", false);
//Get a new StreamReader from a file
StreamReader srFromFile =
new StreamReader("C:\\Temp\\Test.txt");
//Get a new StreamReader in ASCII format from a
//FileStream with byte order mark detection = false and a buffer
StreamReader srAsciiFromStreamFalse512 = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
System.Text.Encoding.ASCII, false, 512);
//Get a new StreamReader in ASCII format from a
//FileStream with byte order mark detection = false
StreamReader srAsciiFromStreamFalse = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
System.Text.Encoding.ASCII, false);
//Get a new StreamReader in ASCII format from a FileStream
StreamReader srAsciiFromStream = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
System.Text.Encoding.ASCII);
//Get a new StreamReader from a
//FileStream with byte order mark detection = false
StreamReader srFromStreamFalse = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
false);
//Get a new StreamReader from a FileStream
StreamReader srFromStream = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"));
}
Private Sub getNewStreamReader()
Dim S As Stream = File.OpenRead("C:\Temp\Test.txt")
'Get a new StreamReader in ASCII format from a
'file using a buffer and byte order mark detection
Dim SrAsciiFromFileFalse512 As StreamReader = New StreamReader("C:\Temp\Test.txt", _
System.Text.Encoding.ASCII, False, 512)
'Get a new StreamReader in ASCII format from a
'file with byte order mark detection = false
Dim SrAsciiFromFileFalse As StreamReader = New StreamReader("C:\Temp\Test.txt", _
System.Text.Encoding.ASCII, False)
'Get a new StreamReader in ASCII format from a file
Dim SrAsciiFromFile As StreamReader = New StreamReader("C:\Temp\Test.txt", _
System.Text.Encoding.ASCII)
'Get a new StreamReader from a
'file with byte order mark detection = false
Dim SrFromFileFalse As StreamReader = New StreamReader("C:\Temp\Test.txt", False)
'Get a new StreamReader from a file
Dim SrFromFile As StreamReader = New StreamReader("C:\Temp\Test.txt")
'Get a new StreamReader in ASCII format from a
'FileStream with byte order mark detection = false and a buffer
Dim SrAsciiFromStreamFalse512 As StreamReader = New StreamReader(S, _
System.Text.Encoding.ASCII, False, 512)
'Get a new StreamReader in ASCII format from a
'FileStream with byte order mark detection = false
Dim SrAsciiFromStreamFalse = New StreamReader(S, _
System.Text.Encoding.ASCII, False)
'Get a new StreamReader in ASCII format from a FileStream
Dim SrAsciiFromStream As StreamReader = New StreamReader(S, _
System.Text.Encoding.ASCII)
'Get a new StreamReader from a
'FileStream with byte order mark detection = false
Dim SrFromStreamFalse As StreamReader = New StreamReader(S, False)
'Get a new StreamReader from a FileStream
Dim SrFromStream As StreamReader = New StreamReader(S)
End Sub
Açıklamalar
Bu oluşturucu, BaseStream parametresini kullanarak stream
özelliğini ve iç arabellek boyutunu 1024 bayt olarak kodlamayı UTF8Encodingbaşlatır.
parametresi, detectEncodingFromByteOrderMarks
akışın ilk dört baytına bakarak kodlamayı algılar. Dosya uygun bayt sırası işaretleriyle başlıyorsa UTF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 ve big-endian UTF-32 metinlerini otomatik olarak tanır. Daha fazla bilgi için yöntemine Encoding.GetPreamble bakın.
çağrıldığında StreamReaderStreamReader.Dispose nesne sağlanan Stream nesneyi çağırırDispose().
Yaygın G/Ç görevlerinin listesi için bkz. Ortak G/Ç Görevleri.
Ayrıca bkz.
Şunlara uygulanır
StreamReader(String)
- Kaynak:
- StreamReader.cs
- Kaynak:
- StreamReader.cs
- Kaynak:
- StreamReader.cs
Belirtilen dosya adı için sınıfının yeni bir örneğini StreamReader başlatır.
public:
StreamReader(System::String ^ path);
public StreamReader (string path);
new System.IO.StreamReader : string -> System.IO.StreamReader
Public Sub New (path As String)
Parametreler
- path
- String
Okunacak tam dosya yolu.
Özel durumlar
path
boş bir dizedir ("").
path
, null
değeridir.
Dosya bulunamıyor.
Belirtilen yol, eşlenmemiş bir sürücüde olmak gibi geçersiz.
path
dosya adı, dizin adı veya birim etiketi için yanlış veya geçersiz bir söz dizimi içerir.
Örnekler
Aşağıdaki kod örneği bu StreamReader oluşturucuyu gösterir.
using namespace System;
using namespace System::IO;
int main()
{
String^ path = "c:\\temp\\MyTest.txt";
try
{
if ( File::Exists( path ) )
{
File::Delete( path );
}
StreamWriter^ sw = gcnew StreamWriter( path );
try
{
sw->WriteLine( "This" );
sw->WriteLine( "is some text" );
sw->WriteLine( "to test" );
sw->WriteLine( "Reading" );
}
finally
{
delete sw;
}
StreamReader^ sr = gcnew StreamReader( path );
try
{
while ( sr->Peek() >= 0 )
{
Console::WriteLine( sr->ReadLine() );
}
}
finally
{
delete sr;
}
}
catch ( Exception^ e )
{
Console::WriteLine( "The process failed: {0}", e );
}
}
using System;
using System.IO;
class Test
{
public static void Main()
{
string path = @"c:\temp\MyTest.txt";
try
{
if (File.Exists(path))
{
File.Delete(path);
}
using (StreamWriter sw = new StreamWriter(path))
{
sw.WriteLine("This");
sw.WriteLine("is some text");
sw.WriteLine("to test");
sw.WriteLine("Reading");
}
using (StreamReader sr = new StreamReader(path))
{
while (sr.Peek() >= 0)
{
Console.WriteLine(sr.ReadLine());
}
}
}
catch (Exception e)
{
Console.WriteLine("The process failed: {0}", e.ToString());
}
}
}
Imports System.IO
Public Class Test
Public Shared Sub Main()
Dim path As String = "c:\temp\MyTest.txt"
Try
If File.Exists(path) Then
File.Delete(path)
End If
Dim sw As StreamWriter = New StreamWriter(path)
sw.WriteLine("This")
sw.WriteLine("is some text")
sw.WriteLine("to test")
sw.WriteLine("Reading")
sw.Close()
Dim sr As StreamReader = New StreamReader(path)
Do While sr.Peek() >= 0
Console.WriteLine(sr.ReadLine())
Loop
sr.Close()
Catch e As Exception
Console.WriteLine("The process failed: {0}", e.ToString())
End Try
End Sub
End Class
Açıklamalar
Tam dosya yolu parametresi tarafından path
belirtilir. Bu oluşturucu için kodlamayı UTF8Encoding ve arabellek boyutunu 1024 bayt olarak başlatır.
path
parametresi, Evrensel Adlandırma Kuralı (UNC) paylaşımındaki bir dosya da dahil olmak üzere bir dosya adı olabilir.
parametresinin path
diskte depolanan bir dosya olması gerekmez; akışları kullanarak erişimi destekleyen bir sistemin herhangi bir parçası olabilir.
Dikkat
Belirli bir kültürel ayara sahip bir karakter kümesini derleyip aynı karakterleri farklı bir kültürel ayarla aldığınızda, karakterler yorumlanamaz ve bir özel durumun oluşturulmasına neden olabilir.
Yaygın G/Ç görevlerinin listesi için bkz. Ortak G/Ç Görevleri.
Ayrıca bkz.
- Encoding
- Dosya ve Stream G/Ç
- Nasıl yapılır: Dosyadan Metin Okuma
- Nasıl yapılır: Bir Dosyaya Metin Yazma
Şunlara uygulanır
StreamReader(String, Encoding)
- Kaynak:
- StreamReader.cs
- Kaynak:
- StreamReader.cs
- Kaynak:
- StreamReader.cs
Belirtilen karakter kodlamasıyla belirtilen dosya adı için sınıfının yeni bir örneğini StreamReader başlatır.
public:
StreamReader(System::String ^ path, System::Text::Encoding ^ encoding);
public StreamReader (string path, System.Text.Encoding encoding);
new System.IO.StreamReader : string * System.Text.Encoding -> System.IO.StreamReader
Public Sub New (path As String, encoding As Encoding)
Parametreler
- path
- String
Okunacak tam dosya yolu.
- encoding
- Encoding
Kullanılacak karakter kodlaması.
Özel durumlar
path
boş bir dizedir ("").
path
veya encoding
şeklindedir null
.
Dosya bulunamıyor.
Belirtilen yol, eşlenmemiş bir sürücüde olmak gibi geçersiz.
path
dosya adı, dizin adı veya birim etiketi için yanlış veya geçersiz bir söz dizimi içerir.
Örnekler
Aşağıdaki kod örneği bu StreamReader oluşturucuyu gösterir.
void getNewStreamReader()
{
//Get a new StreamReader in ASCII format from a
//file using a buffer and byte order mark detection
StreamReader^ srAsciiFromFileFalse512 = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII,false,512 );
//Get a new StreamReader in ASCII format from a
//file with byte order mark detection = false
StreamReader^ srAsciiFromFileFalse = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII,false );
//Get a new StreamReader in ASCII format from a file
StreamReader^ srAsciiFromFile = gcnew StreamReader( "C:\\Temp\\Test.txt",System::Text::Encoding::ASCII );
//Get a new StreamReader from a
//file with byte order mark detection = false
StreamReader^ srFromFileFalse = gcnew StreamReader( "C:\\Temp\\Test.txt",false );
//Get a new StreamReader from a file
StreamReader^ srFromFile = gcnew StreamReader( "C:\\Temp\\Test.txt" );
//Get a new StreamReader in ASCII format from a
//FileStream with byte order mark detection = false and a buffer
StreamReader^ srAsciiFromStreamFalse512 = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),System::Text::Encoding::ASCII,false,512 );
//Get a new StreamReader in ASCII format from a
//FileStream with byte order mark detection = false
StreamReader^ srAsciiFromStreamFalse = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),System::Text::Encoding::ASCII,false );
//Get a new StreamReader in ASCII format from a FileStream
StreamReader^ srAsciiFromStream = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),System::Text::Encoding::ASCII );
//Get a new StreamReader from a
//FileStream with byte order mark detection = false
StreamReader^ srFromStreamFalse = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ),false );
//Get a new StreamReader from a FileStream
StreamReader^ srFromStream = gcnew StreamReader( File::OpenRead( "C:\\Temp\\Test.txt" ) );
}
private void getNewStreamReader()
{
//Get a new StreamReader in ASCII format from a
//file using a buffer and byte order mark detection
StreamReader srAsciiFromFileFalse512 =
new StreamReader("C:\\Temp\\Test.txt",
System.Text.Encoding.ASCII, false, 512);
//Get a new StreamReader in ASCII format from a
//file with byte order mark detection = false
StreamReader srAsciiFromFileFalse =
new StreamReader("C:\\Temp\\Test.txt",
System.Text.Encoding.ASCII, false);
//Get a new StreamReader in ASCII format from a file
StreamReader srAsciiFromFile =
new StreamReader("C:\\Temp\\Test.txt",
System.Text.Encoding.ASCII);
//Get a new StreamReader from a
//file with byte order mark detection = false
StreamReader srFromFileFalse =
new StreamReader("C:\\Temp\\Test.txt", false);
//Get a new StreamReader from a file
StreamReader srFromFile =
new StreamReader("C:\\Temp\\Test.txt");
//Get a new StreamReader in ASCII format from a
//FileStream with byte order mark detection = false and a buffer
StreamReader srAsciiFromStreamFalse512 = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
System.Text.Encoding.ASCII, false, 512);
//Get a new StreamReader in ASCII format from a
//FileStream with byte order mark detection = false
StreamReader srAsciiFromStreamFalse = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
System.Text.Encoding.ASCII, false);
//Get a new StreamReader in ASCII format from a FileStream
StreamReader srAsciiFromStream = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
System.Text.Encoding.ASCII);
//Get a new StreamReader from a
//FileStream with byte order mark detection = false
StreamReader srFromStreamFalse = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"),
false);
//Get a new StreamReader from a FileStream
StreamReader srFromStream = new StreamReader(
(System.IO.Stream)File.OpenRead("C:\\Temp\\Test.txt"));
}
Private Sub getNewStreamReader()
Dim S As Stream = File.OpenRead("C:\Temp\Test.txt")
'Get a new StreamReader in ASCII format from a
'file using a buffer and byte order mark detection
Dim SrAsciiFromFileFalse512 As StreamReader = New StreamReader("C:\Temp\Test.txt", _
System.Text.Encoding.ASCII, False, 512)
'Get a new StreamReader in ASCII format from a
'file with byte order mark detection = false
Dim SrAsciiFromFileFalse As StreamReader = New StreamReader("C:\Temp\Test.txt", _
System.Text.Encoding.ASCII, False)
'Get a new StreamReader in ASCII format from a file
Dim SrAsciiFromFile As StreamReader = New StreamReader("C:\Temp\Test.txt", _
System.Text.Encoding.ASCII)
'Get a new StreamReader from a
'file with byte order mark detection = false
Dim SrFromFileFalse As StreamReader = New StreamReader("C:\Temp\Test.txt", False)
'Get a new StreamReader from a file
Dim SrFromFile As StreamReader = New StreamReader("C:\Temp\Test.txt")
'Get a new StreamReader in ASCII format from a
'FileStream with byte order mark detection = false and a buffer
Dim SrAsciiFromStreamFalse512 As StreamReader = New StreamReader(S, _
System.Text.Encoding.ASCII, False, 512)
'Get a new StreamReader in ASCII format from a
'FileStream with byte order mark detection = false
Dim SrAsciiFromStreamFalse = New StreamReader(S, _
System.Text.Encoding.ASCII, False)
'Get a new StreamReader in ASCII format from a FileStream
Dim SrAsciiFromStream As StreamReader = New StreamReader(S, _
System.Text.Encoding.ASCII)
'Get a new StreamReader from a
'FileStream with byte order mark detection = false
Dim SrFromStreamFalse As StreamReader = New StreamReader(S, False)
'Get a new StreamReader from a FileStream
Dim SrFromStream As StreamReader = New StreamReader(S)
End Sub
Açıklamalar
Bu oluşturucu, parametresi tarafından encoding
belirtilen kodlamayı ve iç arabellek boyutunu 1024 bayt olarak başlatır. nesnesi, StreamReader akışın ilk dört baytına bakarak kodlamayı algılamaya çalışır. Dosya uygun bayt sırası işaretleriyle başlıyorsa UTF-8, little-endian UTF-16, big-endian UTF-16, little-endian UTF-32 ve big-endian UTF-32 metinlerini otomatik olarak tanır. Aksi takdirde, kullanıcı tarafından sağlanan kodlama kullanılır. Daha fazla bilgi için yöntemine Encoding.GetPreamble bakın.
path
parametresi, Evrensel Adlandırma Kuralı (UNC) paylaşımındaki bir dosya da dahil olmak üzere bir dosya adı olabilir.
parametresinin path
diskte depolanan bir dosya olması gerekmez; akışları kullanarak erişimi destekleyen bir sistemin herhangi bir parçası olabilir.
Dikkat
Belirli bir kültürel ayara sahip bir karakter kümesini derleyip aynı karakterleri farklı bir kültürel ayarla aldığınızda, karakterler yorumlanamaz ve bir özel durumun oluşturulmasına neden olabilir.
Yaygın G/Ç görevlerinin listesi için bkz. Ortak G/Ç Görevleri.
Ayrıca bkz.
- Encoding
- Dosya ve Stream G/Ç
- Nasıl yapılır: Dosyadan Metin Okuma
- Nasıl yapılır: Bir Dosyaya Metin Yazma