Reads a line of UTF-8 characters up to limit characters. Supports both CR-LF and LF line endings. Throws an exception if the specified limit has been exceeded.
Return
a line string with no line endings or null
if channel has been closed and no characters were read.