[Overview][Constants][Types][Classes][Procedures and functions][Variables][Index] | Reference for unit 'Classes' (#rtl)

# TStringStream

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Stream that stores its data in a string.

## Declaration

Source position: classesh.inc line 1088

`type TStringStream = class(TBytesStream)`
`public`
`constructor Create();` |  | Creates a new stringstream and sets its initial content.
`constructor CreateRaw(); overload;` |  | Create stringstream using codepage of string
`destructor Destroy; override;` |  | Free the instance of the stream
`function ReadUnicodeString();` |  | Read a unicode string from the stream
`procedure WriteUnicodeString();` |  | Write a unicode string to the stream
`function ReadAnsiString(); overload;` |  | Read an ansistring from the stream
`procedure WriteAnsiString(); override;` |  | Write an ansistring to the stream
`function ReadString();` |  | Reads a string of length Count
`procedure WriteString();` |  | WriteString writes a string to the stream.
`property DataString: string; [r]` |  | Contains the contents of the stream in string form
`property UnicodeDataString: UnicodeString; [r]` |  | Datastring as unicode string
`property OwnsEncoding: Boolean; [r]` |  | Does the stream instance owns the encoding
`property Encoding: TEncoding; [r]` |  | Encoding of the string with the data
`end;`

## Inheritance

`TStringStream` |  | Stream that stores its data in a string.
`TBytesStream` |  | Stream of bytes
`TMemoryStream` |  | Standard implementation of a stream that stores its data in memory
`TCustomMemoryStream` |  | Abstract stream that stores its data in memory.
`TStream` |  | Base class for streams.
`TObject` |  | Base class of all classes.

## Description

TStringStream stores its data in an ansistring. The contents of this string is available as the DataString property. It also introduces some methods to read or write parts of the stringstream's data as a string.

The main purpose of a TStringSTream is to be able to treat a string as a stream from which can be read.

## See also

TStream |  | Base class for streams.
TStringStream.DataString |  | Contains the contents of the stream in string form
TStringStream.ReadString |  | Reads a string of length Count
TStringStream.WriteString |  | WriteString writes a string to the stream.