- Index
- »
- util
- »
- CsvInStream
type
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
delimiterchar - 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
trimflag 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; defaults to comma. |
|---|---|
| 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. |
Slot Details
delimiter
Int delimiter := 44
Delimiter character; defaults to comma.
eachRow
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 := true
Configures whether unqualified whitespace around a cell is automatically trimmed. If a field is enclosed by quotes then it is never trimmed.