TextReader Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mewakili pembaca yang dapat membaca serangkaian karakter berurutan.
public ref class TextReader abstract : IDisposable
public ref class TextReader abstract : MarshalByRefObject, IDisposable
public abstract class TextReader : IDisposable
public abstract class TextReader : MarshalByRefObject, IDisposable
[System.Serializable]
public abstract class TextReader : MarshalByRefObject, IDisposable
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class TextReader : MarshalByRefObject, IDisposable
type TextReader = class
interface IDisposable
type TextReader = class
inherit MarshalByRefObject
interface IDisposable
[<System.Serializable>]
type TextReader = class
inherit MarshalByRefObject
interface IDisposable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type TextReader = class
inherit MarshalByRefObject
interface IDisposable
Public MustInherit Class TextReader
Implements IDisposable
Public MustInherit Class TextReader
Inherits MarshalByRefObject
Implements IDisposable
- Warisan
-
TextReader
- Warisan
- Turunan
- Atribut
- Penerapan
Contoh
Kelas TextReader ini adalah kelas abstrak. Oleh karena itu, Anda tidak membuat instans dalam kode Anda. Kelas StreamReader berasal dari TextReader dan menyediakan implementasi anggota untuk membaca dari aliran. Contoh berikut menunjukkan cara membaca semua karakter dalam file dengan menggunakan StreamReader.ReadAsync(Char[], Int32, Int32) metode . Ini memeriksa apakah setiap karakter adalah huruf, digit, atau spasi putih sebelum menambahkan karakter ke instans StringBuilder kelas.
using System;
using System.Windows;
using System.IO;
using System.Text;
namespace WpfApplication
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private async void Button_Click_1(object sender, RoutedEventArgs e)
{
string filename = @"C:\Example\existingfile.txt";
char[] result;
StringBuilder builder = new StringBuilder();
using (StreamReader reader = File.OpenText(filename))
{
result = new char[reader.BaseStream.Length];
await reader.ReadAsync(result, 0, (int)reader.BaseStream.Length);
}
foreach (char c in result)
{
if (char.IsLetterOrDigit(c) || char.IsWhiteSpace(c))
{
builder.Append(c);
}
}
FileOutput.Text = builder.ToString();
}
}
}
Imports System.Text
Imports System.IO
Class MainWindow
Private Async Sub Button_Click_1(sender As Object, e As RoutedEventArgs)
Dim filename As String = "C:\Example\existingfile.txt"
Dim result() As Char
Dim builder As StringBuilder = New StringBuilder()
Using reader As StreamReader = File.OpenText(filename)
ReDim result(reader.BaseStream.Length)
Await reader.ReadAsync(result, 0, reader.BaseStream.Length)
End Using
For Each c As Char In result
If (Char.IsLetterOrDigit(c) Or Char.IsWhiteSpace(c)) Then
builder.Append(c)
End If
Next
FileOutput.Text = builder.ToString()
End Sub
End Class
Keterangan
TextReader adalah kelas dasar abstrak dan StreamReaderStringReader, yang masing-masing membaca karakter dari aliran dan string. Gunakan kelas turunan ini untuk membuka file teks untuk membaca rentang karakter tertentu, atau untuk membuat pembaca berdasarkan aliran yang ada.
Penting
Jenis ini mengimplementasikan IDisposable antarmuka. Ketika Anda telah selesai menggunakan jenis apa pun yang berasal dari jenis ini, Anda harus membuangnya baik secara langsung atau tidak langsung. Untuk membuang jenis secara langsung, panggil metodenya Dispose dalam try
/catch
blok. Untuk membuangnya secara tidak langsung, gunakan konstruksi bahasa seperti using
(di C#) atau Using
(di Visual Basic). Untuk informasi selengkapnya, lihat Buang dan bagian "Menggunakan Objek yang Mengimplementasikan IDisposable" dalam IDisposable topik antarmuka.
Catatan Bagi Implementer
Kelas turunan harus mengimplementasikan Peek() metode dan Read() secara minimal untuk membuat instans yang berguna dari TextReader.
Konstruktor
TextReader() |
Menginisialisasi instans baru kelas TextReader. |
Bidang
Null |
|
Metode
Close() |
TextReader Menutup dan merilis sumber daya sistem apa pun yang |
CreateObjRef(Type) |
Membuat objek yang berisi semua informasi relevan yang diperlukan untuk menghasilkan proksi yang digunakan untuk berkomunikasi dengan objek jarak jauh. (Diperoleh dari MarshalByRefObject) |
Dispose() |
Merilis semua sumber daya yang TextReader digunakan oleh objek . |
Dispose(Boolean) |
Merilis sumber daya tidak terkelola yang digunakan oleh TextReader dan secara opsional merilis sumber daya terkelola. |
Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
GetLifetimeService() |
Kedaluwarsa.
Mengambil objek layanan seumur hidup saat ini yang mengontrol kebijakan seumur hidup untuk instans ini. (Diperoleh dari MarshalByRefObject) |
GetType() |
Mendapatkan dari instans Type saat ini. (Diperoleh dari Object) |
InitializeLifetimeService() |
Kedaluwarsa.
Mendapatkan objek layanan seumur hidup untuk mengontrol kebijakan seumur hidup untuk instans ini. (Diperoleh dari MarshalByRefObject) |
MemberwiseClone() |
Membuat salinan dangkal dari saat ini Object. (Diperoleh dari Object) |
MemberwiseClone(Boolean) |
Membuat salinan dangkal objek saat ini MarshalByRefObject . (Diperoleh dari MarshalByRefObject) |
Peek() |
Membaca karakter berikutnya tanpa mengubah status pembaca atau sumber karakter. Mengembalikan karakter berikutnya yang tersedia tanpa benar-benar membacanya dari pembaca. |
Read() |
Membaca karakter berikutnya dari pembaca teks dan memajukan posisi karakter dengan satu karakter. |
Read(Char[], Int32, Int32) |
Membaca jumlah karakter maksimum yang ditentukan dari pembaca saat ini dan menulis data ke buffer, dimulai pada indeks yang ditentukan. |
Read(Span<Char>) |
Membaca karakter dari pembaca saat ini dan menulis data ke buffer yang ditentukan. |
ReadAsync(Char[], Int32, Int32) |
Membaca jumlah karakter maksimum yang ditentukan dari pembaca teks saat ini secara asinkron dan menulis data ke buffer, dimulai dari indeks yang ditentukan. |
ReadAsync(Memory<Char>, CancellationToken) |
Secara asinkron membaca karakter dari aliran saat ini ke dalam blok memori. |
ReadBlock(Char[], Int32, Int32) |
Membaca jumlah karakter maksimum yang ditentukan dari pembaca teks saat ini dan menulis data ke buffer, dimulai pada indeks yang ditentukan. |
ReadBlock(Span<Char>) |
Membaca karakter dari aliran saat ini dan menulis data ke buffer. |
ReadBlockAsync(Char[], Int32, Int32) |
Membaca jumlah karakter maksimum yang ditentukan dari pembaca teks saat ini secara asinkron dan menulis data ke buffer, dimulai dari indeks yang ditentukan. |
ReadBlockAsync(Memory<Char>, CancellationToken) |
Secara asinkron membaca karakter dari aliran saat ini dan menulis data ke buffer. |
ReadLine() |
Membaca baris karakter dari pembaca teks dan mengembalikan data sebagai string. |
ReadLineAsync() |
Membaca baris karakter secara asinkron dan mengembalikan data sebagai string. |
ReadLineAsync(CancellationToken) |
Membaca baris karakter secara asinkron dan mengembalikan data sebagai string. |
ReadToEnd() |
Membaca semua karakter dari posisi saat ini ke akhir pembaca teks dan mengembalikannya sebagai satu string. |
ReadToEndAsync() |
Membaca semua karakter dari posisi saat ini ke akhir pembaca teks secara asinkron dan mengembalikannya sebagai satu string. |
ReadToEndAsync(CancellationToken) |
Membaca semua karakter dari posisi saat ini ke akhir pembaca teks secara asinkron dan mengembalikannya sebagai satu string. |
Synchronized(TextReader) |
Membuat pembungkus aman utas di sekitar yang ditentukan |
ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |
Implementasi Antarmuka Eksplisit
IDisposable.Dispose() |
Untuk deskripsi anggota ini, lihat Dispose(). |