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) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



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

辞書ショートカット

すべての辞書の索引

「StringReader クラス」の関連用語

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

   

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



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

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

©2025 GRAS Group, Inc.RSS