Class StreamChunker

java.lang.Object
de.osci.osci12.samples.StreamChunker
All Implemented Interfaces:
AutoCloseable

public class StreamChunker extends Object implements AutoCloseable
Beispiel-Code für das Aufteilen eines Streams (z.B. einer OSCI-Nachricht) in Chunks. Dies ist vor allem im Kontext paketierte Nachrichten nützlich (siehe PartialStoreDelivery.

Copyright © Governikus GmbH & Co. KG, Germany

Erstellt von Governikus GmbH & Co. KG

Diese Bibliothek kann von jedermann nach Maßgabe der European Union Public Licence oder der MIT License genutzt werden.

Die Lizenzbestimmungen können unter der URL https://eupl.eu/ bzw. https://opensource.org/license/MIT abgerufen werden.

Since:
1.8.0
  • Constructor Details

    • StreamChunker

      public StreamChunker(InputStream in)
      Übernimmt einen InputStream und schreibt ihn Chunk für Chunk in einen OutputStream.
      Parameters:
      in - the input stream
  • Method Details

    • chunkRemaining

      public boolean chunkRemaining() throws IOException
      Returns:
      true, wenn im InputStream noch Bytes vorhanden sind, die in einen neuen Chunk geschrieben werden können.
      Throws:
      IOException
    • writeChunk

      public long writeChunk(OutputStream out, long chunkSize) throws IOException
      Schreibt Bytes in den OutputStream, bis die Blockgröße erreicht ist oder keine Bytes mehr im InputStream. Es könnten mehr Bytes in den OutputStream geschrieben werden, als in der Blockgröße festgelegt sind, da es sind immer 8192-Byte-Blöcke, die aus dem InputStream gelesen werden.
      Parameters:
      out - the output stream
      Returns:
      the number of bytes written to the output stream
      Throws:
      IOException
    • close

      public void close() throws IOException
      Schließt den InputStream.
      Specified by:
      close in interface AutoCloseable
      Throws:
      IOException