现在的位置: 首页 > 综合 > 正文

StringWriter实现的一个功能

2011年04月09日 ⁄ 综合 ⁄ 共 1950字 ⁄ 字号 评论关闭
    如何用一组双倍间距的句子创建一个连续的段落,然后将该段落重新转换为原来的文本:

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);
        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);
        int intCharacter;
        
char convertedCharacter;
        StringWriter strWriter 
= new StringWriter();
        strReader 
= new StringReader(aParagraph);
        
while(true)
        
{
            intCharacter 
= strReader.Read();
            
 if(intCharacter == -1break;
             convertedCharacter 
= Convert.ToChar(intCharacter);
            
if(convertedCharacter == '.')
            
{
                strWriter.Write(
".\n\n");
               
strReader.Read();
                strReader.Read();
            }

            
else
            
{
                strWriter.Write(convertedCharacter);
            }

        }

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

}


抱歉!评论已关闭.