Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

StringReader.ReadLine Method

Reads a line from the underlying string.

[Visual Basic]
Overrides Public Function ReadLine() As String
[C#]
public override string ReadLine();
[C++]
public: String* ReadLine();
[JScript]
public override function ReadLine() : String;

Return Value

The next line from the underlying string, or a null reference (Nothing in Visual Basic) if the end of the underlying string is reached.

Exceptions

Exception Type Condition
ObjectDisposedException The current reader is closed.
OutOfMemoryException There is insufficient memory to allocate a buffer for the returned string.

Remarks

This method overrides the TextReader.ReadLine method.

A line is defined as a sequence of characters followed by a carriage return ("\r"), a line feed ("\n"), or a carriage return immediately followed by a line feed. The resulting string does not contain the terminating carriage return and/or line feed. The returned value is a null reference (Nothing in Visual Basic) if the end of the underlying string has been reached.

If the current method throws an OutOfMemoryException, the reader's position in the underlying string is advanced by the number of characters the method was able to read, and the characters already read into the internal ReadLine buffer are discarded. Since the position of the reader in the string cannot be changed, the characters already read are unrecoverable, and can be accessed only by reinitializing the StringReader. To avoid such a situation and produce robust code you should use the Read method and store the read characters in a preallocated buffer.

The following table lists examples of other typical or related I/O tasks.

To do this... See the example in this topic...
Create a text file. Writing Text to a File
Write to a text file. Writing Text to a File
Read from a text file. Reading Text from a File
Append text to a file. Opening and Appending to a Log File

File.AppendText

FileInfo.AppendText

Get the size of a file. FileInfo.Length
Get the attributes of a file. File.GetAttributes
Set the attributes of a file. File.SetAttributes
Determine if a file exists. File.Exists
Read from a binary file. Reading and Writing to a Newly Created Data File
Write to a binary file. Reading and Writing to a Newly Created Data File

Example

[Visual Basic, C#, C++] This code example is part of a larger example provided for the StringReader class.

[Visual Basic] 
' 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)

[C#] 
// 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);

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

[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button Language Filter in the upper-left corner of the page.

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, .NET Compact Framework, Common Language Infrastructure (CLI) Standard

See Also

StringReader Class | StringReader Members | System.IO Namespace | Working with I/O | Reading Text from a File | Writing Text to a File

Show:
© 2014 Microsoft