Giriş
Şu satırı dahil ederiz.
StreamReader, TextReader'dan kalıtır. Şöyle yapabiliriz.
StreamReader sınıfını using ile kapatmak gerekir. StreamReader yok edilince sarmaladığı Stream nesnesini de kapatır. Açıklaması şöyle
Şöyle yaparız.
Şöyle yaparız.
Şöyle yaparız.
Metodun imzası şöyle. In Out parametre tanımlaması ilginç.
Şöyle yaparız.
Şöyle yaparız.
Bu metod Stream sınıfında bulunmaz. Şöyle yaparız.
Şu satırı dahil ederiz.
using System.IO;
Bu sınıfın okuduğunu yazmak için StreamWriter kullanılır.StreamReader, TextReader'dan kalıtır. Şöyle yapabiliriz.
using(TextReader tr = new StreamReader(new FileStream(@"D:\t.txt",
FileMode.Open)))
{
...
}
StreamReader ve usingStreamReader sınıfını using ile kapatmak gerekir. StreamReader yok edilince sarmaladığı Stream nesnesini de kapatır. Açıklaması şöyle
Şu kullanım şekli yanlıştır.The StreamReader object calls Dispose() on the provided Stream object when StreamReader.Dispose is called.
using (Stream stream = ...)
using (StreamReader reader = new StreamReader(stream)) {...}
Doğru kullanım şekli şöyledir.Stream stream = ...;
using (StreamReader reader = new StreamReader(stream))
{
reader.ReadToEnd();
}
Constructor - PathŞöyle yaparız.
StreamReader sr = new StreamReader("Data.txt");
Sınıfın içinde bir FileReader nesnesi bulunur. Verilen path'i okumak için bu nesne kullanılır. Nesne şöyle tanımlıdır.Stream stream = new FileStream(path,...);
Constructor - Path + EncodingŞöyle yaparız.
StreamReader sr = new StreamReader(file.FullName, Encoding.UTF8))
Constructor - StreamŞöyle yaparız.
Stream stream = ...;
using (var sr = new StreamReader (stream)){
...
}
Şöyle yaparız.
İmzası şöyle
Encoding : Encoding.UTF8
detectEncodingFromByteOrderMarks : true
bufferSize : 1024
leaveOpen : false
BaseStream Alanı
Altta kullanılan Stream nesnesidir. Şöyle yaparız.
var reader = new StreamReader(File.OpenRead(@"C:\test.csv"));
Constructor - Stream + Encoding + byte order marks + buffer size + leave openİmzası şöyle
public StreamReader(Stream stream, Encoding encoding, bool
bool detectEncodingFromByteOrderMarks, int bufferSize, bool leaveOpen);
Varsayılan değerler şöyleEncoding : Encoding.UTF8
detectEncodingFromByteOrderMarks : true
bufferSize : 1024
leaveOpen : false
BaseStream Alanı
Altta kullanılan Stream nesnesidir. Şöyle yaparız.
Stream s = sr.BaseStream;
EndOfStream Alanı
Şöyle yaparız.
while (!sr.EndOfStream)
{
// Read line from the input stream
string line = await sr.ReadLineAsync();
...
}
public override int Read([In, Out] char[] buffer, int index, int count)
{
}
ReadLine metoduŞöyle yaparız.
string line;
while ((line = sr.ReadLine()) != null)
{...}
ReadLineAsync metoduŞöyle yaparız.
string line = await sr.ReadLineAsync();
ReadToEnd metoduBu metod Stream sınıfında bulunmaz. Şöyle yaparız.
string html = reader.ReadToEnd();
Hiç yorum yok:
Yorum Gönder