Ich gehe davon aus, dass Sie meinen, dass "Verwenden" Lesen bedeutet, aber was ich für den Lesefall erkläre, kann für den Schreibfall grundsätzlich umgekehrt werden.
Sie erhalten also ein Byte []. Dies kann jede Art von Daten darstellen, für die spezielle Arten von Konvertierungen erforderlich sind (Zeichen, verschlüsselt usw.). Stellen wir uns vor, Sie möchten diese Daten so wie sie sind in eine Datei schreiben.
Erstens könnten Sie einen ByteArrayInputStream erstellen, der im Grunde ein Mechanismus ist, um die Bytes nacheinander an etwas zu liefern.
Dann können Sie einen FileOutputStream für die Datei erstellen, die Sie erstellen möchten. Es gibt viele Arten von InputStreams und OutputStreams für verschiedene Datenquellen und Ziele.
Zuletzt würden Sie den InputStream in den OutputStream schreiben. In diesem Fall wird das Array von Bytes nacheinander zum Schreiben an den FileOutputStream gesendet. Dafür empfehle ich die Verwendung von IOUtils
byte[] bytes = ...;//
ByteArrayInputStream in = new ByteArrayInputStream(bytes);
FileOutputStream out = new FileOutputStream(new File(...));
IOUtils.copy(in, out);
IOUtils.closeQuietly(in);
IOUtils.closeQuietly(out);
und umgekehrt
FileInputStream in = new FileInputStream(new File(...));
ByteArrayOutputStream out = new ByteArrayOutputStream();
IOUtils.copy(in, out);
IOUtils.closeQuietly(in);
IOUtils.closeQuietly(out);
byte[] bytes = out.toByteArray();
Wenn Sie die obigen Code-Schnipsel verwenden, müssen Sie Ausnahmen behandeln, und ich empfehle Ihnen, die "Closes" in einem finally-Block durchzuführen.