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 trim

Configures whether unqualified whitespace around a cell is automatically trimmed

delimiter

Delimiter character

methods readRow

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

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

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.5 ∙ 24-Feb-2026 14:33 EST