Class FileLoader

java.lang.Object
schule.ngb.zm.util.io.FileLoader

public final class FileLoader extends Object
Hilfsklasse, um Textdateien in verschiedenen Formaten einzulesen.
  • Field Details

    • ASCII

      public static final Charset ASCII
      Charset: ASCII
    • UTF8

      public static final Charset UTF8
      Charset: UTF-8
    • UTF16

      public static final Charset UTF16
      Charset: UTF-16
    • ISO_8859_1

      public static final Charset ISO_8859_1
      Charset: ISO-8859-1
  • Method Details

    • loadLines

      public static List<String> loadLines(String source)
      Lädt die angegebene Textdatei zeilenweise in eine Liste.

      Als Charset wird UTF8 verwendet.

      Parameters:
      source - Die Quelle der Textdatei.
      Returns:
      Eine Liste mit den Zeilen der Textdatei.
      See Also:
    • loadLines

      public static List<String> loadLines(String source, Charset charset)
      Lädt die angegebene Textdatei mit dem angegebenen Charset zeilenweise in eine Liste.

      Am Ende jeder Zeile wird das Symbol für einen Zeilenumbruch (\n) entfernt.

      Parameters:
      source - Die Quelle der Textdatei.
      charset - Das zu verwendene Charset.
      Returns:
      Eine Liste mit den Zeilen der Textdatei.
    • loadText

      public static String loadText(String source)
      Lädt den Inhalt der angegebenen Textdatei vollständig in einen String.

      Als Charset wird UTF8 verwendet.

      Parameters:
      source - Eine Quelle für die Textdatei (Absoluter Dateipfad, Dateipfad im Classpath oder Netzwerkressource)
      Returns:
      Der Inhalt der Textdatei.
    • loadText

      public static String loadText(String source, Charset charset)
      Lädt den Inhalt der angegebenen Textdatei mit dem angegebenen Charset vollständig in einen String.
      Parameters:
      source - Eine Quelle für die Textdatei (Absoluter Dateipfad, Dateipfad im Classpath oder Netzwerkressource)
      charset - Der Charset der Textdatei.
      Returns:
      Der Inhalt der Textdatei.
    • loadCsv

      public static String[][] loadCsv(String source, boolean skipFirst)
      Lädt die Daten aus einer CSV-Datei in ein zweidimensionales String-Array.

      Der Aufruf entspricht

      
       FileLoader.loadCsv(source, ',', skipFirst, UTF8);
       
      Parameters:
      source - Eine Quelle für die CSV-Datei (Absoluter Dateipfad, * Dateipfad im Classpath oder Netzwerkressource)
      skipFirst - Ob die erste Zeile übersprungen werden soll.
      Returns:
      Ein Array mit den Daten als Strings.
      See Also:
    • loadCsv

      public static String[][] loadCsv(String source, char separator, boolean skipFirst, Charset charset)
      Lädt die Daten aus einer CSV-Datei in ein zweidimensionales String-Array.

      Die Methode ist nicht in der Lage, komplexe CSV-Dateien zu verarbeiten. Insbesondere werden Inhalte, die das Trennzeichen separator enthalten, nicht korrekt erkannt. Das Trennzeichen wird unabhängig vom Kontext immer als Zelltrenner erkannt. (Im Normalfall kann das Trennzeichen durch die Verwendung doppelter Anführungszeichen in der Art Inhalt,"Inhalt, der Komma enthält",Inhalt maskiert werden.)

      Es wird auch keine erweiterte Inhaltserkennung ausgeführt, sondern alle Inhalte als String gelesen. Die weitere Verarbeitung mit den passenden Parser-Methoden (beispielsweise Double.parseDouble(String)) obligt dem Nutzer.

      Parameters:
      source - Die Quelle der CSV-Daten.
      separator - Das verwendete Trennzeichen.
      skipFirst - Ob die erste Zeile übersprungen werden soll.
      charset - Die zu verwendende Zeichenkodierung.
      Returns:
      Ein Array mit den Daten als Strings.
    • loadValues

      public static double[][] loadValues(String source, String separator, boolean skipFirst)
    • loadValues

      public static double[][] loadValues(String source, String separator, boolean skipFirst, Charset charset)
      Lädt Double-Werte aus einer Text-Datei in ein zweidimensionales Array.

      Die Zeilen der Eingabedatei werden anhand der Zeichenkette separator in einzelne Teile aufgetrennt. separator wird als regulärer Ausdruck interpretiert (siehe String.split(String)).

      Jeder Teilstring wird mit Double.parseDouble(String) in double umgeformt. Es liegt in der Verantwortung des Nutzers, sicherzustellen, dass die Eingabedatei nur Zahlen enthält, die korrekt in double umgewandelt werden können. Zellen, für die die Umwandlung fehlschlägt, werden mit 0.0 befüllt.

      Die Methode unterliegt denselben Einschränkungen wie loadCsv(String, char, boolean, Charset).

      Parameters:
      source - Die Quelle der CSV-Daten.
      separator - Ein Trennzeichen oder ein regulärer Ausdruck.
      skipFirst - Ob die erste Zeile übersprungen werden soll.
      charset - Die zu verwendende Zeichenkodierung.
      Returns:
      Ein Array mit den Daten als Strings.