## net.htmlparser.jericho
Class Util

    java.lang.Object
      net.htmlparser.jericho.Util

    public final class Util

extends Object

Contains miscellaneous utility methods not directly associated with the HTML Parser library.

Method Summary
`static String` `getString(Reader reader)` Returns the text loaded from the specified `Reader` as a string.
`static void` `outputCSVLine(Writer writer, String[] values)` Outputs the specified array of strings to the specified `Writer` in the format of a line for a CSV file.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Method Detail

### getString

    public static String getString(Reader reader)
                            throws IOException

  Returns the text loaded from the specified `Reader` as a string.

  If a `null` argument is supplied to this method, an empty string is returned.

  To load text from an `InputStream`, use `getString(new InputStreamReader(inputStream,encoding))`.

  Parameters:
    `reader` - the `java.io.Reader` from which to load the text.
  Returns:
    the text loaded from the specified `java.io.Reader` as a string.
  Throws:
    `IOException` - if an I/O error occurs.

### outputCSVLine

    public static void outputCSVLine(Writer writer,
                                     String[] values)
                              throws IOException

  Outputs the specified array of strings to the specified `Writer` in the format of a line for a CSV file.

  "CSV" stands for Comma Separated Values. There is no formal specification for a CSV file, so there is significant variation in the way different applications handle issues like the encoding of different data types and special characters.

  Generally, a CSV file contains a list of records separated by line breaks, with each record consisting of a list of field values separated by commas. Each record in the file should contain the same number of field values, with the values at each position representing the same type of data in all the records. In this way the file can also be divided into columns, often with the first line of the file containing the column labels.

  Columns can have different data types such as text, numeric, date / time and boolean. A text value is often delimited with single (`'`) or double-quotes (`"`), especially if the value contains a comma, line feed, or other special character that is significant to the syntax. Encoding techniques for including quote characters themselves in text values vary widely. Values of other types are generally unquoted to distinguish them from text values.

  This method produces output that is readable by MS-Excel, conforming to the following rules:

  - All values are considered to be of type text, except for the static constants `Config.ColumnValueTrue` and `Config.ColumnValueFalse`, representing the boolean values `true` and `false` respectively.
  - All text values are enclosed in double-quotes.
  - Double-quote characters contained in text values are encoded using two consecutive double-quotes (`""`).
  - `null` values are represented as empty fields.
  - The end of each record is represented by a carriage-return / line-feed (CR/LF) pair.
  - Line breaks inside text values are represented by a single line feed (LF) character.

  Parameters:
    `writer` - the destination `java.io.Writer` for the output.
  Throws:
    `IOException` - if an I/O error occurs.
  See Also:
    `FormFields.getColumnLabels()`, `FormFields.getColumnValues(Map)`