class

CsvInStream

@Js
class CsvInStream : InStream

CsvInStream is used to read delimiter-separated values as specified by RFC 4180. Format details:

  • rows are delimited by a newline
  • cells are separated by delimiter char
  • cells may be quoted with " character
  • quoted cells may contain the delimiter
  • quoted cells may contain newlines (always normalized to "\n")
  • quoted cells must escape " with ""
  • the trim flag trims leading/trailing whitespace from non-quoted cells (note that RFC 4180 specifies that whitespace is significant)

Also see CsvOutStream.

constructors make

Wrap the underlying input stream

fields delimiter

Delimiter character

trim

Configures whether unqualified whitespace around a cell is automatically trimmed

methods eachRow

Iterate through all the lines parsing each one into delimited-separated strings and calling the given callback functions

readAllRows

Read the entire table of rows into memory

readRow

Read the next line as a row of delimiter-separated strings

delimiter Int : delimiter

Delimiter character; defaults to comma.

eachRow Void eachRow(|Str[]| f)

Iterate through all the lines parsing each one into delimited-separated strings and calling the given callback functions. The input stream is guaranteed to be closed upon completion.

make new make(InStream in)

Wrap the underlying input stream.

readAllRows Str[][] readAllRows()

Read the entire table of rows into memory. The input stream is guaranteed to be closed upon completion.

readRow virtual Str[]? readRow()

Read the next line as a row of delimiter-separated strings. Return null if at end of stream.

trim Bool : trim

Configures whether unqualified whitespace around a cell is automatically trimmed. If a field is enclosed by quotes then it is never trimmed.

Haxall 4.0.6 ∙ 21-Jul-2026 09:48 EDT