FileSort class

FileSort provides the ability to sort files based on their columns.

FileSort does a file based merge sort and as such can sort large files without regard to memory constraints. You will need free disk space equivalent to 2 times the size of the _inputPath file.

FileSort provides a range of sort comparators including: String - case sensitive and case insenstive Numeric Month

FileSort is used by the DCli example apps dsort.dart to re-implement the standard cli tool 'sort'.

Constructors

FileSort(String inputPath, String outputPath, List<Column> columns, String? fieldDelimiter, String? lineDelimiter, {bool? verbose = false})
Sort the file at inputPath and save the results to outputPath _inputPath is the path to the file to be sorted _outputPath is the path to write the sorted file to. _columns is used to describe the sort order to be applied to the selected columns. _fieldDelimiter is the delimiter to be used to separate each line of the file into columns. _lineDelimiter is the delimiter to be used to separate each line. verbose caused FileSort to log debug level information as it sorts.

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
verbose bool?
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
sort() → void
call this method to start the sort.
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

expandColumns(List<String> values) List<Column>
Expands an list of columns defined as per Column.parse into a list of Columns.