---
title: 'Mit ByteArrayOutputStream in ein Byte-Feld schreiben'
url: 'https://www.tutego.de/blog/javainsel/2018/09/bytearrayoutputstream-writebytes'
markdown: 'https://www.tutego.de/blog/javainsel/2018/09/bytearrayoutputstream-writebytes.md'
date: '2018-09-11'
description: 'Ein ByteArrayOutputStream ist ein OutputStream, der die geschriebenen Daten intern in einem byte-Array speichert. Die Größe des Arrays vergrößert sich dynamisch zu den geschriebenen Daten. class java.io.ByteArrayOutputStream extends OutputStream ByteArrayOutputStream() Erzeugt ein neues OutputStre…'
taxonomy:
  category:
    - Insel
    - 'Java 10'
    - 'Java 11'
---

# Mit ByteArrayOutputStream in ein Byte-Feld schreiben

![Illustration einer tropischen Insel mit Palmen und einem hohen Berg](https://www.tutego.de/blog/javainsel/user/themes/tutego/images/insel-cover.jpg)# Java Blog für Programmierer

[Java Blog für Programmierer](https://www.tutego.de/blog/javainsel/)

## Mit ByteArrayOutputStream in ein Byte-Feld schreiben

11.09.2018 · [Christian Ullenboom](https://www.tutego.de/blog/javainsel/author/admin/)

Ein ByteArrayOutputStream ist ein `OutputStream`, der die geschriebenen Daten intern in einem byte-Array speichert. Die Größe des `Arrays` vergrößert sich dynamisch zu den geschriebenen Daten.

class `java.io.ByteArrayOutputStream`extends `OutputStream`

- `ByteArrayOutputStream()`Erzeugt ein neues OutputStream-Objekt, das die Daten in einem internen Byte-Array abbildet.
- `ByteArrayOutputStream(intsize)`Erzeugt ein ByteArrayOutputStream mit einer gewünschten anfänglichen Pufferkapazität.

Als `OutputStream` erbt der ByteArrayOutputStream alle Methoden, die jedoch allesamt eine `IOException` auslösen. Bei einem Strom der in den Speicher schreibt kann das nicht passieren. Daher wurde in Java 11 eine neue Methode `writeBytes`(byte\[\]) eingeführt, die keine `IOException` auslöst.

Mit die wichtigste Methode ist `toByteArray()`, die ein byte\[\] mit dem geschriebenen Inhalt liefert. `reset()` löscht den internen Puffer. Eine praktische Methode ist `writeTo(OutputStream out)`. Hinter ihr steckt ein `out.write(buf, 0, count)`, das für uns in das nicht sichtbare interne Feld buf schreibt. Es gibt drei `toString(…)`-Methoden, die das Byte-Array in einen `String` konvertieren: `toString(String charsetName)` und `toString`​(`Charset` charset) – seit Java 10 – bekommen als Argument die Zeichenkodierung übergeben und ByteArrayOutputStream überschreibt `toString()` von der Oberklasse `Object` was die Standard Plattform-Zeichenkodierung nimmt.

Kategorien: [Insel](https://www.tutego.de/blog/javainsel/category/insel/), [Java 10](https://www.tutego.de/blog/javainsel/category/java-10/), [Java 11](https://www.tutego.de/blog/javainsel/category/java-11/)

[← Alle Beiträge](https://www.tutego.de/blog/javainsel/)

---

## Navigation

- Previous: [Files: Einfaches Einlesen und Schreiben von Dateien](https://www.tutego.de/blog/javainsel/2018/09/files-einfaches-einlesen-und-schreiben-von-dateien.md)
- Next: [Vergleichen von StringBuilder-Exemplaren und String mit StringBuilder](https://www.tutego.de/blog/javainsel/2018/09/stringbuilder-equals-string-comparable-stringbuffer.md)
