Class CsvReader

java.lang.Object
de.kappich.sys.funclib.csv.CsvReader

public class CsvReader
extends java.lang.Object
Klasse zum einlesen von CSV-Daten
  • Field Summary

    Fields
    Modifier and Type Field Description
    static java.lang.String DEFAULT_IGNORE_LINE_PATTERN
    Leere Zeilen standardmäßig ignorieren
  • Constructor Summary

    Constructors
    Constructor Description
    CsvReader​(java.io.Reader reader)
    Erstellt einen neuen CsvReader mit ';' als Trennzeichen und '"' als Anführungszeichen
    CsvReader​(java.io.Reader reader, char csvSeparator, char csvQuote)
    Erstellt einen neuen CsvReader
    CsvReader​(java.io.Reader reader, char csvSeparator, char csvQuote, java.lang.String ignoreLinePattern)
    Erstellt einen neuen CsvReader
    CsvReader​(java.lang.String encoding, java.io.InputStream inputStream)
    Erstellt einen neuen CsvReader mit ';' als Trennzeichen und '"' als Anführungszeichen
    CsvReader​(java.lang.String encoding, java.io.InputStream inputStream, char csvSeparator, char csvQuote)
    Erstellt einen neuen CsvReader
    CsvReader​(java.lang.String encoding, java.io.InputStream inputStream, char csvSeparator, char csvQuote, java.lang.String ignoreLinePattern)
    Erstellt einen neuen CsvReader
    CsvReader​(java.nio.charset.Charset encoding, java.io.InputStream inputStream)
    Erstellt einen neuen CsvReader mit ';' als Trennzeichen und '"' als Anführungszeichen
    CsvReader​(java.nio.charset.Charset encoding, java.io.InputStream inputStream, char csvSeparator, char csvQuote)
    Erstellt einen neuen CsvReader
    CsvReader​(java.nio.charset.Charset encoding, java.io.InputStream inputStream, char csvSeparator, char csvQuote, java.lang.String ignoreLinePattern)
    Erstellt einen neuen CsvReader
  • Method Summary

    Modifier and Type Method Description
    IterableCsvData read()
    Verarbeitet die CSV-Daten.
    IterableCsvData read​(java.lang.String[] headerCells)
    Verarbeitet die CSV-Daten.
    CsvData readAll()
    Verarbeitet die CSV-Daten.
    CsvData readAll​(java.lang.String[] headerCells)
    Verarbeitet die CSV-Daten.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • DEFAULT_IGNORE_LINE_PATTERN

      public static final java.lang.String DEFAULT_IGNORE_LINE_PATTERN
      Leere Zeilen standardmäßig ignorieren
      See Also:
      Constant Field Values
  • Constructor Details

    • CsvReader

      public CsvReader​(java.lang.String encoding, java.io.InputStream inputStream)
      Erstellt einen neuen CsvReader mit ';' als Trennzeichen und '"' als Anführungszeichen
      Parameters:
      encoding - Dateikodierung, z.B. UTF-8
      inputStream - InputStream als Datenquelle
    • CsvReader

      public CsvReader​(java.nio.charset.Charset encoding, java.io.InputStream inputStream)
      Erstellt einen neuen CsvReader mit ';' als Trennzeichen und '"' als Anführungszeichen
      Parameters:
      encoding - Dateikodierung, z.B. UTF-8
      inputStream - InputStream als Datenquelle
    • CsvReader

      public CsvReader​(java.lang.String encoding, java.io.InputStream inputStream, char csvSeparator, char csvQuote)
      Erstellt einen neuen CsvReader
      Parameters:
      encoding - Dateikodierung, z.B. UTF-8
      inputStream - InputStream als Datenquelle
      csvSeparator - Trennzeichen
      csvQuote - Maskierungszeichen (Anführungszeichen)
    • CsvReader

      public CsvReader​(java.nio.charset.Charset encoding, java.io.InputStream inputStream, char csvSeparator, char csvQuote)
      Erstellt einen neuen CsvReader
      Parameters:
      encoding - Dateikodierung, z.B. UTF-8
      inputStream - InputStream als Datenquelle
      csvSeparator - Trennzeichen
      csvQuote - Maskierungszeichen (Anführungszeichen)
    • CsvReader

      public CsvReader​(java.lang.String encoding, java.io.InputStream inputStream, char csvSeparator, char csvQuote, java.lang.String ignoreLinePattern)
      Erstellt einen neuen CsvReader
      Parameters:
      encoding - Dateikodierung, z.B. UTF-8
      inputStream - InputStream als Datenquelle
      csvSeparator - Trennzeichen
      csvQuote - Maskierungszeichen (Anführungszeichen)
      ignoreLinePattern - Regulärer Ausdruck, mit dem zu ignorierende Zeilen vorgegeben werden können
    • CsvReader

      public CsvReader​(java.nio.charset.Charset encoding, java.io.InputStream inputStream, char csvSeparator, char csvQuote, java.lang.String ignoreLinePattern)
      Erstellt einen neuen CsvReader
      Parameters:
      encoding - Dateikodierung, z.B. UTF-8
      inputStream - InputStream als Datenquelle
      csvSeparator - Trennzeichen
      csvQuote - Maskierungszeichen (Anführungszeichen)
      ignoreLinePattern - Regulärer Ausdruck, mit dem zu ignorierende Zeilen vorgegeben werden können
    • CsvReader

      public CsvReader​(java.io.Reader reader)
      Erstellt einen neuen CsvReader mit ';' als Trennzeichen und '"' als Anführungszeichen
      Parameters:
      reader - Reader als Datenquelle
    • CsvReader

      public CsvReader​(java.io.Reader reader, char csvSeparator, char csvQuote)
      Erstellt einen neuen CsvReader
      Parameters:
      reader - Reader als Datenquelle
      csvSeparator - Trennzeichen
      csvQuote - Maskierungszeichen (Anführungszeichen)
    • CsvReader

      public CsvReader​(java.io.Reader reader, char csvSeparator, char csvQuote, java.lang.String ignoreLinePattern)
      Erstellt einen neuen CsvReader
      Parameters:
      reader - Reader als Datenquelle
      csvSeparator - Trennzeichen
      csvQuote - Maskierungszeichen (Anführungszeichen)
      ignoreLinePattern - Regulärer Ausdruck, mit dem zu ignorierende Zeilen vorgegeben werden können
  • Method Details

    • readAll

      public CsvData readAll() throws java.io.IOException
      Verarbeitet die CSV-Daten. Die erste Zeile wird als Spaltenkopf interpretiert. Bei dieser Methode wird die CSV-Datei am Stück eingelesen und komplett im Speicher gehalten. Wenn kein wahlfreier Zugriff auf die Zeilen notwendig ist, sollte stattdessen read() verwendet werden.
      Returns:
      CsvData-Objekt, welchen des Dateiinhalt enthält
      Throws:
      java.io.IOException - Ein-Ausgabe-Fehler
      CsvParseException - Fehler beim Parsen der CSV-Datei
    • read

      public IterableCsvData read() throws java.io.IOException
      Verarbeitet die CSV-Daten. Die erste Zeile wird als Spaltenkopf interpretiert.
      Returns:
      CsvData-Objekt, welchen des Dateiinhalt enthält
      Throws:
      java.io.IOException - Ein-Ausgabe-Fehler
      CsvParseException - Fehler beim Parsen der CSV-Datei
    • readAll

      public CsvData readAll​(java.lang.String[] headerCells) throws java.io.IOException
      Verarbeitet die CSV-Daten. Der Spaltenkopf wird als Parameter übergeben, die erste Zeile wird als Daten gewertet. Bei dieser Methode wird die CSV-Datei am Stück eingelesen und komplett im Speicher gehalten. Wenn kein wahlfreier Zugriff auf die Zeilen notwendig ist, sollte stattdessen read(String[]) verwendet werden.
      Parameters:
      headerCells - Spaltenkopf (falls null, kann auf die Spalten nur über Index zugegriffen werden)
      Returns:
      CsvData-Objekt, welchen des Dateiinhalt enthält
      Throws:
      java.io.IOException - Ein-Ausgabe-Fehler
      CsvParseException - Fehler beim Parsen der CSV-Datei
    • read

      public IterableCsvData read​(java.lang.String[] headerCells) throws java.io.IOException
      Verarbeitet die CSV-Daten. Der Spaltenkopf wird als Parameter übergeben, die erste Zeile wird als Daten gewertet.
      Parameters:
      headerCells - Spaltenkopf (falls null, kann auf die Spalten nur über Index zugegriffen werden)
      Returns:
      IterableCsvData-Objekt, mit dem man über den Dateiinhalt iterieren kann
      Throws:
      java.io.IOException - Ein-Ausgabe-Fehler
      CsvParseException - Fehler beim Parsen der CSV-Datei