StringReaderとは? わかりやすく解説

StringReader クラス

文字列から読み取る TextReader を実装ます。

名前空間: System.IO
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public Class StringReader
    Inherits TextReader
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public class StringReader : TextReader
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public ref class StringReader : public
 TextReader
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public class StringReader extends TextReader
SerializableAttribute 
ComVisibleAttribute(true) 
public class StringReader extends
 TextReader
解説解説
使用例使用例

次に示すのは、複数センテンスを含むテキストから、各センテンスそれぞれ 2 つスペース区切られパラグラフ作成しその後そのパラグラフを元のテキストに戻すコード例です。

Option Explicit
Option Strict

Imports Microsoft.VisualBasic
Imports System
Imports System.IO

Public Class StrReader

    Shared Sub Main()
    
        Dim textReaderText As String
 = "TextReader is the " & _
            "abstract base class of StreamReader and "
 & _
            "StringReader, which read characters from streams
 " & _
            "and strings, respectively." & _
            vbCrLf & vbCrLf & _
            "Create an instance of TextReader to open a text "
 & _
            "file for reading a specified range of characters,
 " & _
            "or to create a reader based on an existing stream."
 & _
            vbCrLf & vbCrLf & _
            "You can also use an instance of TextReader to read
 " & _
            "text from a custom backing store using the same "
 & _
            "APIs you would use for a string or a stream."
 & _
            vbCrLf & vbCrLf

        Console.WriteLine("Original text:" & vbCrLf
 & vbCrLf & _
            textReaderText)

        ' From textReaderText, create a continuous paragraph 
        ' with two spaces between each sentence.
        Dim aLine, aParagraph As String
        Dim strReader As New
 StringReader(textReaderText)
        While True
            aLine = strReader.ReadLine()
            If aLine Is Nothing
 Then
                aParagraph = aParagraph & vbCrLf
                Exit While
            Else
                aParagraph = aParagraph & aLine & " "
            End If
        End While
        Console.WriteLine("Modified text:" & vbCrLf
 & vbCrLf & _ 
            aParagraph)
    
        ' Re-create textReaderText from aParagraph.
        Dim intCharacter As Integer
 
        Dim convertedCharacter As Char
 
        Dim strWriter As New
 StringWriter()
        strReader = New StringReader(aParagraph)
        While True
            intCharacter = strReader.Read()

            ' Check for the end of the string 
            ' before converting to a character.
            If intCharacter = -1 Then
                Exit While
            End If

            convertedCharacter = Convert.ToChar(intCharacter)
            If convertedCharacter = "."C
 Then
                strWriter.Write("." & vbCrLf &
 vbCrLf)

                ' Bypass the spaces between sentences.
                strReader.Read()
                strReader.Read()
            Else
                strWriter.Write(convertedCharacter)
            End If
        End While
        Console.WriteLine(vbCrLf & "Original text:"
 & vbCrLf & _ 
            vbCrLf & strWriter.ToString())

    End Sub
End Class
using System;
using System.IO;

class StringRW
{
    static void Main()
    {
        string textReaderText = "TextReader is the abstract
 base " +
            "class of StreamReader and StringReader, which
 read " +
            "characters from streams and strings, respectively.\n\n" +

            "Create an instance of TextReader to open a text file " +
            "for reading a specified range of characters,
 or to " +
            "create a reader based on an existing stream.\n\n" +

            "You can also use an instance of TextReader to read " +
            "text from a custom backing store using the same
 " +
            "APIs you would use for a string
 or a stream.\n\n";

        Console.WriteLine("Original text:\n\n{0}", textReaderText);

        // From textReaderText, create a continuous paragraph 
        // with two spaces between each sentence.
        string aLine, aParagraph = null;
        StringReader strReader = new StringReader(textReaderText);
        while(true)
        {
            aLine = strReader.ReadLine();
            if(aLine != null)
            {
                aParagraph = aParagraph + aLine + " ";
            }
            else
            {
                aParagraph = aParagraph + "\n";
                break;
            }
        }
        Console.WriteLine("Modified text:\n\n{0}", aParagraph);

        // Re-create textReaderText from aParagraph.
        int intCharacter;
        char convertedCharacter;
        StringWriter strWriter = new StringWriter();
        strReader = new StringReader(aParagraph);
        while(true)
        {
            intCharacter = strReader.Read();

            // Check for the end of the string 
            // before converting to a character.
            if(intCharacter == -1) break;

            convertedCharacter = Convert.ToChar(intCharacter);
            if(convertedCharacter == '.')
            {
                strWriter.Write(".\n\n");

                // Bypass the spaces between sentences.
                strReader.Read();
                strReader.Read();
            }
            else
            {
                strWriter.Write(convertedCharacter);
            }
        }
        Console.WriteLine("\nOriginal text:\n\n{0}", 
            strWriter.ToString());
    }
}
using namespace System;
using namespace System::IO;
int main()
{
   String^ textReaderText = "TextReader is the abstract base
 "
   "class of StreamReader and StringReader, which read "
   "characters from streams and strings, respectively.\n\n"
   "Create an instance of TextReader to open a text file "
   "for reading a specified range of characters, or to "
   "create a reader based on an existing stream.\n\n"
   "You can also use an instance of TextReader to read "
   "text from a custom backing store using the same "
   "APIs you would use for a string or
 a stream.\n\n";
   Console::WriteLine(  "Original text:\n\n{0}", textReaderText );

   // From textReaderText, create a continuous paragraph 
   // with two spaces between each sentence.
      String^ aLine;
   String^ aParagraph;
   StringReader^ strReader = gcnew StringReader( textReaderText );
   while ( true )
   {
      aLine = strReader->ReadLine();
      if ( aLine != nullptr )
      {
         aParagraph = String::Concat( aParagraph, aLine,  " " );
      }
      else
      {
         aParagraph = String::Concat( aParagraph,  "\n" );
         break;
      }
   }

   Console::WriteLine(  "Modified text:\n\n{0}", aParagraph );
   
   // Re-create textReaderText from aParagraph.
   int intCharacter;
   Char convertedCharacter;
   StringWriter^ strWriter = gcnew StringWriter;
   strReader = gcnew StringReader( aParagraph );
   while ( true )
   {
      intCharacter = strReader->Read();
      
      // Check for the end of the string 
      // before converting to a character.
      if ( intCharacter == -1 )
            break;

      
      convertedCharacter = Convert::ToChar( intCharacter );
      if ( convertedCharacter == '.' )
      {
         strWriter->Write(  ".\n\n" );
         
         // Bypass the spaces between sentences.
         strReader->Read();
         strReader->Read();
      }
      else
      {
         strWriter->Write( convertedCharacter );
      }
   }

   Console::WriteLine(  "\nOriginal text:\n\n{0}", strWriter->ToString()
 );
}

import System.*;
import System.IO.*;

class StringRW
{
    public static void main(String[]
 args)
    {
        String textReaderText = "TextReader is the abstract base
 " 
            + "class of StreamReader and StringReader, which
 read " 
            + "characters from streams and strings, respectively.\n\n"
 
            + "Create an instance of TextReader to open a text file " 
            + "for reading a specified range of characters,
 or to " 
            + "create a reader based on an existing stream.\n\n" 
            + "You can also use an instance of TextReader to read " 
            + "text from a custom backing store using the
 same " 
            + "APIs you would use for a string
 or a stream.\n\n";

        Console.WriteLine("Original text:\n\n{0}", textReaderText);

        // From textReaderText, create a continuous paragraph 
        // with two spaces between each sentence.
        String aParagraph = "";
        String aLine;
        StringReader strReader = new StringReader(textReaderText);
        while (true) {
            aLine = strReader.ReadLine();
            if (aLine != null) {
                aParagraph = aParagraph + aLine + " ";
            }
            else {
                aParagraph = aParagraph + "\n";
                break ;
            }
        }
        Console.WriteLine("Modified text:\n\n{0}", aParagraph);

        // Re-create textReaderText from aParagraph.
        int intCharacter;
        char convertedCharacter;
        StringWriter strWriter = new StringWriter();
        strReader = new StringReader(aParagraph);

        while (true) {
            intCharacter = strReader.Read();

            // Check for the end of the string 
            // before converting to a character.
            if (intCharacter == -1) {
                break ;
            }

            convertedCharacter = Convert.ToChar(intCharacter);
            if (convertedCharacter == '.') {
                strWriter.Write(".\n\n");

                // Bypass the spaces between sentences.
                strReader.Read();
                strReader.Read();
            }

            else {
                strWriter.Write(convertedCharacter);
            }
        }
        Console.WriteLine("\nOriginal text:\n\n{0}", strWriter.ToString());
    } //main
} //StringRW
継承階層継承階層
System.Object
   System.MarshalByRefObject
     System.IO.TextReader
      System.IO.StringReader
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

StringReader コンストラクタ

指定した文字列から読み取る StringReader クラス新しインスタンス初期化します。

名前空間: System.IO
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

public StringReader (
    string s
)
public:
StringReader (
    String^ s
)
public StringReader (
    String s
)
public function StringReader (
    s : String
)

パラメータ

s

StringReader を初期化する目的文字列

例外例外
例外種類条件

ArgumentNullException

s パラメータnull 参照 (Visual Basic では Nothing) です。

解説解説
使用例使用例

このコード例は、StringReader クラストピック取り上げているコード例一部分です。

' From textReaderText, create a continuous paragraph 
' with two spaces between each sentence.
Dim aLine, aParagraph As String
Dim strReader As New StringReader(textReaderText)
While True
    aLine = strReader.ReadLine()
    If aLine Is Nothing
 Then
        aParagraph = aParagraph & vbCrLf
        Exit While
    Else
        aParagraph = aParagraph & aLine & " "
    End If
End While
Console.WriteLine("Modified text:" & vbCrLf &
 vbCrLf & _ 
    aParagraph)
// From textReaderText, create a continuous paragraph 
// with two spaces between each sentence.
string aLine, aParagraph = null;
StringReader strReader = new StringReader(textReaderText);
while(true)
{
    aLine = strReader.ReadLine();
    if(aLine != null)
    {
        aParagraph = aParagraph + aLine + " ";
    }
    else
    {
        aParagraph = aParagraph + "\n";
        break;
    }
}
Console.WriteLine("Modified text:\n\n{0}", aParagraph);
// From textReaderText, create a continuous paragraph 
// with two spaces between each sentence.
   String^ aLine;
String^ aParagraph;
StringReader^ strReader = gcnew StringReader( textReaderText );
while ( true )
{
   aLine = strReader->ReadLine();
   if ( aLine != nullptr )
   {
      aParagraph = String::Concat( aParagraph, aLine,  " " );
   }
   else
   {
      aParagraph = String::Concat( aParagraph,  "\n" );
      break;
   }
}

Console::WriteLine(  "Modified text:\n\n{0}", aParagraph );

// From textReaderText, create a continuous paragraph 
// with two spaces between each sentence.
String aParagraph = "";
String aLine;
StringReader strReader = new StringReader(textReaderText);
while (true) {
    aLine = strReader.ReadLine();
    if (aLine != null) {
        aParagraph = aParagraph + aLine + " ";
    }
    else {
        aParagraph = aParagraph + "\n";
        break ;
    }
}
Console.WriteLine("Modified text:\n\n{0}", aParagraph);
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

StringReader メソッド


パブリック メソッドパブリック メソッド

( プロテクト メソッド参照)
  名前 説明
パブリック メソッド Close オーバーライドされます。 StringReader を閉じます
パブリック メソッド CreateObjRef  リモート オブジェクトとの通信使用するプロキシ生成必要な情報をすべて格納しているオブジェクト作成します。 ( MarshalByRefObject から継承されます。)
パブリック メソッド Dispose オーバーロードされます。  
パブリック メソッド Equals  オーバーロードされます2 つObject インスタンス等しかどうか判断します。 ( Object から継承されます。)
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適してます。 ( Object から継承されます。)
パブリック メソッド GetLifetimeService  対象インスタンス有効期間ポリシー制御する現在の有効期間サービス オブジェクト取得します。 ( MarshalByRefObject から継承されます。)
パブリック メソッド GetType  現在のインスタンスType取得します。 ( Object から継承されます。)
パブリック メソッド InitializeLifetimeService  対象インスタンス有効期間ポリシー制御する有効期間サービス オブジェクト取得します。 ( MarshalByRefObject から継承されます。)
パブリック メソッド Peek オーバーライドされます読み取り可能な次の文字返しますが、その文字使用されません。
パブリック メソッド Read オーバーロードされますオーバーライドされます入力文字列から次の文字または次の文字セット読み取ります。
パブリック メソッド ReadBlock  現在のストリームから最大 count 文字読み取り読み取った文字index開始位置として buffer書き込みます。 ( TextReader から継承されます。)
パブリック メソッド ReadLine オーバーライドされます。 基になる文字列から 1 行読み取ります。
パブリック メソッド ReadToEnd オーバーライドされます文字列として、ストリーム全体または現在位置から末尾までを読み取ります。
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 ( Object から継承されます。)
パブリック メソッド Synchronized  指定した TextReaderラップするスレッド セーフ ラッパー作成します。 ( TextReader から継承されます。)
パブリック メソッド ToString  現在の Object を表す String返します。 ( Object から継承されます。)
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

StringReader クラス
System.IO 名前空間
TextReader
StringWriter

その他の技術情報

ファイルおよびストリーム入出力
方法 : ファイルかテキスト読み取る
方法 : ファイルテキスト書き込む

StringReader メンバ

文字列から読み取る TextReader を実装ます。

StringReader データ型公開されるメンバを以下の表に示します


パブリック コンストラクタパブリック コンストラクタ
パブリック メソッドパブリック メソッド
( プロテクト メソッド参照)
  名前 説明
パブリック メソッド Close オーバーライドされますStringReader閉じます
パブリック メソッド CreateObjRef  リモート オブジェクトとの通信使用するプロキシ生成必要な情報をすべて格納しているオブジェクト作成します。 (MarshalByRefObject から継承されます。)
パブリック メソッド Dispose オーバーロードされます。  
パブリック メソッド Equals  オーバーロードされます2 つObject インスタンス等しかどうか判断します。 (Object から継承されます。)
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適してます。 (Object から継承されます。)
パブリック メソッド GetLifetimeService  対象インスタンス有効期間ポリシー制御する現在の有効期間サービス オブジェクト取得します。 (MarshalByRefObject から継承されます。)
パブリック メソッド GetType  現在のインスタンスType取得します。 (Object から継承されます。)
パブリック メソッド InitializeLifetimeService  対象インスタンス有効期間ポリシー制御する有効期間サービス オブジェクト取得します。 (MarshalByRefObject から継承されます。)
パブリック メソッド Peek オーバーライドされます読み取り可能な次の文字返しますが、その文字使用されません。
パブリック メソッド Read オーバーロードされますオーバーライドされます入力文字列から次の文字または次の文字セット読み取ります。
パブリック メソッド ReadBlock  現在のストリームから最大 count 文字読み取り読み取った文字index開始位置として buffer書き込みます。 (TextReader から継承されます。)
パブリック メソッド ReadLine オーバーライドされます。 基になる文字列から 1 行読み取ります。
パブリック メソッド ReadToEnd オーバーライドされます文字列として、ストリーム全体または現在位置から末尾までを読み取ります。
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 (Object から継承されます。)
パブリック メソッド Synchronized  指定した TextReaderラップするスレッド セーフ ラッパー作成します。 (TextReader から継承されます。)
パブリック メソッド ToString  現在の Object を表す String返します。 (Object から継承されます。)
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

StringReader クラス
System.IO 名前空間
TextReader
StringWriter

その他の技術情報

ファイルおよびストリーム入出力
方法 : ファイルかテキスト読み取る
方法 : ファイルテキスト書き込む


このページでは「.NET Framework クラス ライブラリ リファレンス」からStringReaderを検索した結果を表示しています。
Weblioに収録されているすべての辞書からStringReaderを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からStringReaderを検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「StringReader」の関連用語

StringReaderのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



StringReaderのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS