エクスポート (0) 印刷
すべて展開
情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

StreamReader クラス

2013/12/12

特定のエンコーディングのバイト ストリームを読み込む TextReader を実装します。

System.Object
  System.IO.TextReader
    System.IO.StreamReader

Namespace:  System.IO
アセンブリ:  mscorlib (mscorlib.dll 内)

public class StreamReader : TextReader

StreamReader 型で公開されるメンバーは以下のとおりです。

  名前説明
パブリック メソッドStreamReader(Stream)指定したストリーム用の StreamReader クラスの新しいインスタンスを初期化します。
パブリック メソッドStreamReader(String)指定したファイル名用の StreamReader クラスの新しいインスタンスを初期化します。
パブリック メソッドStreamReader(Stream, Boolean)バイト順マーク検出オプションを設定して、指定したストリーム用の StreamReader クラスの新しいインスタンスを初期化します。
パブリック メソッドStreamReader(Stream, Encoding)文字エンコーディングを設定して、指定したストリーム用の StreamReader クラスの新しいインスタンスを初期化します。
パブリック メソッドStreamReader(String, Boolean)指定したバイト順マーク検出オプションを使用して、指定したファイル名用の StreamReader クラスの新しいインスタンスを初期化します。
パブリック メソッドStreamReader(String, Encoding)文字エンコーディングを設定して、指定したファイル名用の StreamReader クラスの新しいインスタンスを初期化します。
パブリック メソッドStreamReader(Stream, Encoding, Boolean)文字エンコーディングとバイト順マーク検出オプションを設定して、指定したストリーム用の StreamReader クラスの新しいインスタンスを初期化します。
パブリック メソッドStreamReader(String, Encoding, Boolean)文字エンコーディングとバイト順マーク検出オプションを設定して、指定したファイル名用の StreamReader クラスの新しいインスタンスを初期化します。
パブリック メソッドStreamReader(Stream, Encoding, Boolean, Int32)文字エンコーディング、バイト順マーク検出オプション、およびバッファー サイズを設定して、指定したストリーム用の StreamReader クラスの新しいインスタンスを初期化します。
パブリック メソッドStreamReader(String, Encoding, Boolean, Int32)文字エンコーディング、バイト順マーク検出オプション、およびバッファー サイズを設定して、指定したファイル名の StreamReader クラスの新しいインスタンスを初期化します。
パブリック メソッドStreamReader(Stream, Encoding, Boolean, Int32, Boolean)StreamReader クラスの新しいインスタンスが、指定された文字エンコーディング、バイト順マーク削除オプション、バッファー サイズ、およびストリームを開いたままに維持するかどうかを指定する値を使用して、指定されたストリームに対して初期化されます。
このページのトップへ

  名前説明
パブリック プロパティBaseStream基になるストリームを返します。
パブリック プロパティCurrentEncoding現在の StreamReader オブジェクトが使用している現在の文字エンコーディングを取得します。
パブリック プロパティEndOfStream現在のストリームの位置がストリームの末尾かどうかを示す値を取得します。
このページのトップへ

  名前説明
パブリック メソッドCloseStreamReader オブジェクトと、その基になるストリームを閉じ、リーダーに関連付けられたすべてのシステム リソースを解放します。 (TextReader.Close() をオーバーライドします。)
パブリック メソッドDiscardBufferedData内部バッファーをクリアします。
パブリック メソッドDispose()この TextReader オブジェクトによって使用されているすべてのリソースを解放します。 (TextReader から継承されます。)
プロテクト メソッドDispose(Boolean)基になるストリームを閉じ、StreamReader によって使用されているアンマネージ リソースを解放します。任意でマネージ リソースも解放します。 (TextReader.Dispose(Boolean) をオーバーライドします。)
パブリック メソッドEquals(Object)指定した Object が、現在の Object と等しいかどうかを判断します。 (Object から継承されます。)
プロテクト メソッドFinalizeObject がガベージ コレクションで再利用される前に、Object がリソースを解放して他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。)
パブリック メソッドGetHashCode特定の型のハッシュ関数として機能します。 (Object から継承されます。)
パブリック メソッドGetType現在のインスタンスの Type を取得します。 (Object から継承されます。)
プロテクト メソッドMemberwiseClone現在の Object の簡易コピーを作成します。 (Object から継承されます。)
パブリック メソッドPeek読み取り可能な次の文字を返しますが、その文字は使用されません。 (TextReader.Peek() をオーバーライドします。)
パブリック メソッドRead()入力ストリームから次の文字を読み込み、1 文字分だけ文字位置を進めます。 (TextReader.Read() をオーバーライドします。)
パブリック メソッドRead(Char[], Int32, Int32)現在のストリームから最大 count 文字を index を開始位置として buffer に読み込みます。 (TextReader.Read(Char[], Int32, Int32) をオーバーライドします。)
パブリック メソッドReadAsync指定したインデックスを開始位置として、現在のストリームから、指定された最大文字数を非同期的に読み取り、データをバッファーに書き込みます。 (TextReader.ReadAsync(Char[], Int32, Int32) をオーバーライドします。)
パブリック メソッドReadBlock指定したインデックスを開始位置として、現在のストリームから、指定された最大文字数を読み取り、データをバッファーに書き込みます。 (TextReader.ReadBlock(Char[], Int32, Int32) をオーバーライドします。)
パブリック メソッドReadBlockAsync指定したインデックスを開始位置として、現在のストリームから、指定された最大文字数を非同期的に読み取り、データをバッファーに書き込みます。 (TextReader.ReadBlockAsync(Char[], Int32, Int32) をオーバーライドします。)
パブリック メソッドReadLine現在のストリームから 1 行分の文字を読み取り、そのデータを文字列として返します。 (TextReader.ReadLine() をオーバーライドします。)
パブリック メソッドReadLineAsync現在のストリームから 1 行分の文字を非同期的に読み取り、データを文字列として返します。 (TextReader.ReadLineAsync() をオーバーライドします。)
パブリック メソッドReadToEndストリームの現在位置から末尾までを読み込みます。 (TextReader.ReadToEnd() をオーバーライドします。)
パブリック メソッドReadToEndAsyncストリームの現在位置から末尾まですべての文字を非同期的に読み取り、1 つの文字列として返します。 (TextReader.ReadToEndAsync() をオーバーライドします。)
パブリック メソッドToString現在のオブジェクトを表す文字列を返します。 (Object から継承されます。)
このページのトップへ

  名前説明
パブリック フィールド静的メンバーNull空のストリームの StreamReader オブジェクト。
このページのトップへ

StreamReader は、特定のエンコーディングの文字を入力する場合に使用します。一方、Stream クラスは、バイトの入出力に使用します。標準テキスト ファイルから情報の行を読み取るには、StreamReader を使用します。

他に指定がない場合、現行システムでは StreamReader は ANSI コード ページではなく、既定の UTF-8 エンコーディングに設定されます。UTF-8 は、Unicode 文字を正しく処理し、オペレーティング システムの各ローカライズ バージョンで一貫した結果を提供します。

既定では、StreamReader はスレッド セーフではありません。

Read(Char[], Int32, Int32) メソッドおよび Write(Char[], Int32, Int32) メソッドは、それぞれ、count パラメーターで指定した文字数の読み込みと書き込みを行います。

メモメモ:

Stream から読み取る場合は、ストリームの内部バッファーと同じサイズのバッファーを使用すると効率的です。

次の例では、StreamReader オブジェクトを使用しています。StreamReader オブジェクトは、ユーザーの [マイ ドキュメント] フォルダーのファイルの内容を読み取って、それをテキスト ボックス コントロール (inputData という名前の) に表示します。

分離ストレージ ファイルの内容を保存する方法の例については、StreamWriter クラスのトピックを参照してください。このコード例をコンパイルして実行する方法の詳細については、「Windows Phone での静的 TextBlock コントロールのあるコード例のビルド」を参照してください。


private void OpenFile_Click(object sender, RoutedEventArgs e)
{

	// fileLoc is a global string variable.
	fileLoc = System.IO.Path.Combine(Environment.GetFolderPath(
		Environment.SpecialFolder.MyDocuments), "MyDoc.txt");

	// Create the file if it does not exist.
	if (!File.Exists(fileLoc))
	{
		using (StreamWriter swNew = new StreamWriter(fileLoc))
		{
			swNew.WriteLine("Sample text");
		}
	}

	// Display the contents in a TextBox.
	using (StreamReader sr = new StreamReader(fileLoc))
	{
		inputData.Text = sr.ReadToEnd();
		inputData.Visibility = Visibility.Visible;
	}
	
}


Windows Phone OS

サポート: 8.0, 7.1, 7.0

この型のすべてのパブリック static (Visual Basic では Shared) メンバーは、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

表示:
© 2014 Microsoft