Wie konvertiere ich InputStream in byte[] in Java? Alle Methoden
Hallo zusammen! Ich bin neu in Java und habe folgendes Problem: Ich muss alle Daten aus einem InputStream (z.B. aus einer Datei oder einer HTTP-Antwort) lesen und als byte[]-Array erhalten. Aber ich weiß nicht, wie ich das richtig machen soll.
\n\nHier ist, was ich versucht habe:
\n\nInputStream input = new FileInputStream("data.bin");\nbyte[] data = ??? // Wie bekomme ich das Byte-Array?\n\n\nDas Problem ist, dass InputStream mir nicht im Voraus die Datengröße mitteilt. Die Methode available() gibt nicht die vollständige Größe zurück, sondern nur das, was bereits ohne Blockierung gelesen werden kann. Ich habe versucht, in einer Schleife zu lesen, aber der Code wird unübersichtlich und bricht oft ab.
Ich habe von ByteArrayOutputStream gehört, verstehe aber nicht, wie man es richtig verwendet. Außerdem habe ich von readAllBytes() gehört.