Dateigröße von einem InputStream oder byte[] bekommen

internet

Top Contributor
Hallo,

Ich wie kann ich denn die Dateigröße von einem InputStream oder byte[] bekommen?
Ich habe das probiert, aber das ergibt immer nur 0:

int = inputStream().available();
 
Bei einem InputStream kannst Du nicht wissen, wie viel Daten noch kommen können. Wie viele bytes gelesen werden konnten, weisst Du erst, wenn der Stream geschlossen wurde.

Bei einem byte Array kannst Du natürlich die Länge des Arrays ermitteln.
 
Dateigröße von einem InputStream
Eine Datei ist kein Datenstrom und ein Datenstrom ist keine Datei. Ein Datenstrom ist wie ein Fluss, in dem Wasser fließt. Du weißt im Vorfeld nicht, wann das Wasser aufhört zu laufen und wie viel Wasser bis dahin an der Senke angekommen sein wird.

Allerdings gibt es natürlich Möglichkeiten, die Größe einer Datei zu ermitteln, z. B. mittels java.nio.file.Files.size(Path).
 

Neue Themen


Zurück
Oben