Package de.willuhn.io

Class LineOutputStream

java.lang.Object
java.io.OutputStream
de.willuhn.io.LineOutputStream
All Implemented Interfaces:
Closeable, Flushable, AutoCloseable
Direct Known Subclasses:
LoggerOutputStream

public abstract class LineOutputStream extends OutputStream
Ein OutputStream, der alle Daten, die erhaelt buffert und zeilenweise an writeLine(java.lang.String) uebergibt. Sprich: Will man Daten zeilenweise verarbeiten, darf aber nur einen OutputStream angeben, dann kann man von dieser Klasse ableiten, die Funktion writeLine implementieren und kann bequem zeilenweise lesen. Hinweis: Ist die Zeile laenger als der angegebene Buffer, wird bei Erreichen der Buffer-Groesse auch schon vor dem Zeilenende geschrieben.
  • Constructor Details

    • LineOutputStream

      public LineOutputStream()
      Erzeugt einen LineOutputStream mit 1024 Byte Buffer.
    • LineOutputStream

      public LineOutputStream(int bufferSize)
      Erzeugt einen LineOutputStream mit der angebenen Buffer-Groesse.
      Parameters:
      bufferSize - Buffer-Groesse in Bytes.
  • Method Details

    • write

      public final void write(int b) throws IOException
      Specified by:
      write in class OutputStream
      Throws:
      IOException
      See Also:
    • writeLine

      public abstract void writeLine(String s) throws IOException
      Wird aufgerufen, wenn eine Zeile vollstaendig ist und geschrieben werden kann oder aber der Buffer voll ist. Wichtig: In der Zeile ggf. vorhandene Linewraps werden entfernt. Sollen Die Ausgaben also z.Bsp. via System.out geschrieben werden, dann bitte "println()" statt "print()" verwenden, um den entfernten Zeilenumbruch wieder anzufuegen.
      Parameters:
      s - der zu schreibende String bereinigt um seinen Zeilenumbruch.
      Throws:
      IOException