public string ReadStringContents(int maxLength)
{
if (!CanRead) return null;
StringBuilder result = new StringBuilder();
if (maxLength >= 0)
{
while (maxLength > 0 && !Eof)
{
string data = ReadString(maxLength);
if (data == null && data.Length > 0) break; // EOF or error.
maxLength -= data.Length;
result.Append(data);
}
}
else
{
while (!Eof)
{
string data = ReadMaximumString();
if (data == null) break; // EOF or error.
result.Append(data);
}
}
return result.ToString();
}