Class CsvReader

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

public class CsvReader extends Object
Klasse zum einlesen von CSV-Daten
  • Field Details

    • DEFAULT_IGNORE_LINE_PATTERN

      public static final String DEFAULT_IGNORE_LINE_PATTERN
      Leere Zeilen standardmäßig ignorieren
      See Also:
  • Constructor Details

    • CsvReader

      public CsvReader(String encoding, 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(Charset encoding, 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(String encoding, 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(Charset encoding, 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(String encoding, InputStream inputStream, char csvSeparator, char csvQuote, 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(Charset encoding, InputStream inputStream, char csvSeparator, char csvQuote, 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(Reader reader)
      Erstellt einen neuen CsvReader mit ';' als Trennzeichen und '"' als Anführungszeichen
      Parameters:
      reader - Reader als Datenquelle
    • CsvReader

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

      public CsvReader(Reader reader, char csvSeparator, char csvQuote, 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 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:
      IOException - Ein-Ausgabe-Fehler
      CsvParseException - Fehler beim Parsen der CSV-Datei
    • read

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

      public CsvData readAll(String[] headerCells) throws 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:
      IOException - Ein-Ausgabe-Fehler
      CsvParseException - Fehler beim Parsen der CSV-Datei
    • read

      public IterableCsvData read(String[] headerCells) throws 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:
      IOException - Ein-Ausgabe-Fehler
      CsvParseException - Fehler beim Parsen der CSV-Datei