TextReader クラス

定義

一連の文字を読み取ることができるリーダーを表します。Represents a reader that can read a sequential series of characters.

public ref class TextReader abstract : MarshalByRefObject, IDisposable
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public abstract class TextReader : MarshalByRefObject, IDisposable
type TextReader = class
    inherit MarshalByRefObject
    interface IDisposable
Public MustInherit Class TextReader
Inherits MarshalByRefObject
Implements IDisposable
継承
派生
属性
実装

TextReader クラスは抽象クラスです。The TextReader class is an abstract class. そのため、コードでそれをインスタンス化することはありません。Therefore, you do not instantiate it in your code. StreamReader クラスは TextReader から派生し、ストリームから読み取るためのメンバーの実装を提供します。The StreamReader class derives from TextReader and provides implementations of the members for reading from a stream. 次の例では、StreamReader.ReadAsync(Char[], Int32, Int32) メソッドを使用して、ファイル内のすべての文字を読み取る方法を示します。The following example shows how to read all the characters in a file by using the StreamReader.ReadAsync(Char[], Int32, Int32) method. StringBuilder クラスのインスタンスに文字を追加する前に、各文字がアルファベット、数字、または空白かどうかをチェックします。It checks whether each character is a letter, digit, or white space before adding the character to an instance of the StringBuilder class.

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

注釈

TextReaderStreamReaderStringReaderの抽象基本クラスであり、ストリームと文字列から文字を読み取ることができます。TextReader is the abstract base class of StreamReader and StringReader, which read characters from streams and strings, respectively. これらの派生クラスを使用して、指定された範囲の文字を読み取るためのテキストファイルを開くか、既存のストリームに基づいてリーダーを作成します。Use these derived classes to open a text file for reading a specified range of characters, or to create a reader based on an existing stream.

重要

この型は IDisposable インターフェイスを実装します。This type implements the IDisposable interface. この型から派生した任意の型の使用が完了したら、直接または間接的に破棄する必要があります。When you have finished using any type that derives from this type, you should dispose of it either directly or indirectly. 直接的に型を破棄するには、try / catch ブロック内で Dispose メソッドを呼び出します。To dispose of the type directly, call its Dispose method in a try/catch block. 間接的に型を破棄するには、using (C# の場合) または Using (Visual Basic 言語) などの言語構成要素を使用します。To dispose of it indirectly, use a language construct such as using (in C#) or Using (in Visual Basic). 詳細については、「Dispose」と「IDisposable インターフェイス」の「IDisposable を実装するオブジェクトの使用」を参照してください。For more information, see Dispose and the "Using an Object that Implements IDisposable" section in the IDisposable interface topic.

注意 (実装者)

派生クラスでは、TextReaderの便利なインスタンスを作成するために、Peek() および Read() メソッドを最小限に実装する必要があります。A derived class must minimally implement the Peek() and Read() methods to make a useful instance of TextReader.

コンストラクター

TextReader()

TextReader クラスの新しいインスタンスを初期化します。Initializes a new instance of the TextReader class.

フィールド

Null

読み取り対象のデータを TextReader に提供しません。Provides a TextReader with no data to read from.

メソッド

Close()

TextReader を閉じ、その TextReader と関連付けられているシステム リソースを解放します。Closes the TextReader and releases any system resources associated with the TextReader.

CreateObjRef(Type)

リモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(継承元 MarshalByRefObject)
Dispose()

この TextReader オブジェクトによって使用されているすべてのリソースを解放します。Releases all resources used by the TextReader object.

Dispose(Boolean)

TextReader によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。Releases the unmanaged resources used by the TextReader and optionally releases the managed resources.

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判定します。Determines whether the specified object is equal to the current object.

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetLifetimeService()

対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(継承元 MarshalByRefObject)
GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
InitializeLifetimeService()

このインスタンスの有効期間ポリシーを制御する有効期間サービス オブジェクトを取得します。Obtains a lifetime service object to control the lifetime policy for this instance.

(継承元 MarshalByRefObject)
MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
MemberwiseClone(Boolean)

現在の MarshalByRefObject オブジェクトの簡易コピーを作成します。Creates a shallow copy of the current MarshalByRefObject object.

(継承元 MarshalByRefObject)
Peek()

リーダーや文字の読み取り元の状態を変更せずに、次の文字を読み取ります。Reads the next character without changing the state of the reader or the character source. リーダーから実際に文字を読み取らずに次の文字を返します。Returns the next available character without actually reading it from the reader.

Read()

テキスト リーダーから次の文字を読み取り、1 文字分だけ文字位置を進めます。Reads the next character from the text reader and advances the character position by one character.

Read(Char[], Int32, Int32)

指定した最大文字数を現在のリーダーから読み取り、バッファーの指定したインデックス位置にそのデータを書き込みます。Reads a specified maximum number of characters from the current reader and writes the data to a buffer, beginning at the specified index.

Read(Span<Char>)

現在のリーダーから文字を読み取り、指定したバッファーにそのデータを書き込みます。Reads the characters from the current reader and writes the data to the specified buffer.

ReadAsync(Char[], Int32, Int32)

指定した最大文字数を現在のテキスト リーダーから非同期に読み取り、バッファーの指定したインデックス位置にそのデータを書き込みます。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.

ReadAsync(Memory<Char>, CancellationToken)

現在のストリームからメモリ ブロックに文字を非同期に読み取ります。Asynchronously reads the characters from the current stream into a memory block.

ReadBlock(Char[], Int32, Int32)

指定した最大文字数を現在のテキスト リーダーから読み取り、バッファーの指定したインデックス位置にそのデータを書き込みます。Reads a specified maximum number of characters from the current text reader and writes the data to a buffer, beginning at the specified index.

ReadBlock(Span<Char>)

現在のストリームから文字を読み取り、データをバッファーに書き込みます。Reads the characters from the current stream and writes the data to a buffer.

ReadBlockAsync(Char[], Int32, Int32)

指定した最大文字数を現在のテキスト リーダーから非同期に読み取り、バッファーの指定したインデックス位置にそのデータを書き込みます。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.

ReadBlockAsync(Memory<Char>, CancellationToken)

現在のストリームから非同期に文字を読み取り、データをバッファーに書き込みます。Asynchronously reads the characters from the current stream and writes the data to a buffer.

ReadLine()

テキスト リーダーから 1 行分の文字を読み取り、そのデータを文字列として返します。Reads a line of characters from the text reader and returns the data as a string.

ReadLineAsync()

1 行分の文字を非同期的に読み取り、そのデータを文字列として返します。Reads a line of characters asynchronously and returns the data as a string.

ReadToEnd()

テキスト リーダーの現在位置から末尾まですべての文字を読み取り、1 つの文字列として返します。Reads all characters from the current position to the end of the text reader and returns them as one string.

ReadToEndAsync()

テキスト リーダーの現在位置から末尾まですべての文字を非同期的に読み取り、1 つの文字列として返します。Reads all characters from the current position to the end of the text reader asynchronously and returns them as one string.

Synchronized(TextReader)

指定した TextReader をラップするスレッド セーフ ラッパーを作成します。Creates a thread-safe wrapper around the specified TextReader.

ToString()

現在のオブジェクトを表す string を返します。Returns a string that represents the current object.

(継承元 Object)

明示的なインターフェイスの実装

IDisposable.Dispose()

このメンバーの詳細については、「Dispose()」をご覧ください。For a description of this member, see Dispose().

適用対象

こちらもご覧ください