次の方法で共有


TextReader クラス

定義

一連の文字を読み取ることができるリーダーを表します。

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
継承
TextReader
継承
派生
属性
実装

TextReader クラスは抽象クラスです。 そのため、コードでそれをインスタンス化することはありません。 クラスは StreamReader から TextReader 派生し、ストリームから読み取るためのメンバーの実装を提供します。 次の例は、 メソッドを使用してファイル内のすべての文字を読み取る方法を StreamReader.ReadAsync(Char[], Int32, Int32) 示しています。 クラスのインスタンス StringBuilder に文字を追加する前に、各文字が文字、数字、または空白であるかどうかを確認します。

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

注釈

TextReaderは、 と StringReaderStreamReader抽象基本クラスで、それぞれストリームと文字列から文字を読み取ります。 これらの派生クラスを使用して、指定した文字範囲を読み取るためのテキスト ファイルを開くか、既存のストリームに基づいてリーダーを作成します。

重要

この型は IDisposable インターフェイスを実装します。 この型から派生した型の使用が完了したら、直接または間接的に破棄する必要があります。 直接的に型を破棄するには、try/catch ブロック内で Dispose メソッドを呼び出します。 間接的に型を破棄するには、using (C# の場合) または Using (Visual Basic 言語) などの言語構成要素を使用します。 詳細については、インターフェイス トピックの「Dispose」および「IDisposable を実装するオブジェクトの使用」セクションを IDisposable 参照してください。

注意 (実装者)

派生クラスでは、 メソッドと Read() メソッドをPeek()最小限に実装して、 のTextReader便利なインスタンスを作成する必要があります。

コンストラクター

TextReader()

TextReader クラスの新しいインスタンスを初期化します。

フィールド

Null

読み取り対象のデータを TextReader に提供しません。

メソッド

Close()

TextReader を閉じ、その TextReader と関連付けられているシステム リソースを解放します。

CreateObjRef(Type)

リモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。

(継承元 MarshalByRefObject)
Dispose()

この TextReader オブジェクトによって使用されているすべてのリソースを解放します。

Dispose(Boolean)

TextReader によって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetLifetimeService()
古い.

対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。

(継承元 MarshalByRefObject)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
InitializeLifetimeService()
古い.

このインスタンスの有効期間ポリシーを制御する有効期間サービス オブジェクトを取得します。

(継承元 MarshalByRefObject)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
MemberwiseClone(Boolean)

現在の MarshalByRefObject オブジェクトの簡易コピーを作成します。

(継承元 MarshalByRefObject)
Peek()

リーダーや文字の読み取り元の状態を変更せずに、次の文字を読み取ります。 リーダーから実際に文字を読み取らずに次の文字を返します。

Read()

テキスト リーダーから次の文字を読み取り、1 文字分だけ文字位置を進めます。

Read(Char[], Int32, Int32)

指定した最大文字数を現在のリーダーから読み取り、バッファーの指定したインデックス位置にそのデータを書き込みます。

Read(Span<Char>)

現在のリーダーから文字を読み取り、指定したバッファーにそのデータを書き込みます。

ReadAsync(Char[], Int32, Int32)

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

ReadAsync(Memory<Char>, CancellationToken)

現在のストリームからメモリ ブロックに文字を非同期に読み取ります。

ReadBlock(Char[], Int32, Int32)

指定した最大文字数を現在のテキスト リーダーから読み取り、バッファーの指定したインデックス位置にそのデータを書き込みます。

ReadBlock(Span<Char>)

現在のストリームから文字を読み取り、データをバッファーに書き込みます。

ReadBlockAsync(Char[], Int32, Int32)

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

ReadBlockAsync(Memory<Char>, CancellationToken)

現在のストリームから非同期に文字を読み取り、データをバッファーに書き込みます。

ReadLine()

テキスト リーダーから 1 行分の文字を読み取り、そのデータを文字列として返します。

ReadLineAsync()

1 行分の文字を非同期的に読み取り、そのデータを文字列として返します。

ReadLineAsync(CancellationToken)

1 行分の文字を非同期的に読み取り、そのデータを文字列として返します。

ReadToEnd()

テキスト リーダーの現在位置から末尾まですべての文字を読み取り、1 つの文字列として返します。

ReadToEndAsync()

テキスト リーダーの現在位置から末尾まですべての文字を非同期的に読み取り、1 つの文字列として返します。

ReadToEndAsync(CancellationToken)

テキスト リーダーの現在位置から末尾まですべての文字を非同期的に読み取り、1 つの文字列として返します。

Synchronized(TextReader)

指定した TextReader をラップするスレッド セーフ ラッパーを作成します。

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

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

IDisposable.Dispose()

このメンバーの詳細については、「Dispose()」をご覧ください。

適用対象

こちらもご覧ください