Ich mag würde wissen, was der beste Weg ist, Bytes von einem Java InputStream
mehrere Male und immer noch wirksam sein zu lesen, wenn der Strom sehr groß ist. Lassen Sie uns sagen, dass ich den folgenden Code haben:von einem Java-Input Lesen mit sehr großen Datenmengen mehrfach
public void handleBytes(InputStream in) {
doStuff1(in);
doStuff2(in);
doStuff3(in);
}
wo doStuff1
, doStuff2
und doStuff3
alle müssen auf den gleichen Bytes arbeiten, aber andere Dinge zu tun. Auch ich gehe davon aus, dass diese Funktionen asynchron sein können.
Ich weiß, dass es zu mark
und dann reset
der Strom möglich ist, aber ich frage mich, ob dies der Weg zu gehen, wenn in
viele Daten hat. Auch wenn ich einen Thread-Arbeiter pro doStuff-X
haben möchte, kann ich nicht wirklich reset
verwenden.
Sollte ich eine Kopie des Stroms für jede doStuff-X
Methode? Aber ich bin mir nicht sicher, ob das für große Datenmengen effizient ist.
Sie müssen weitere Informationen darüber bereitstellen, was die doStuff-Methoden tun. – Raedwald
Wenn die Eingabeströme nicht zu groß sind, laden Sie die Bytes einfach in den Speicher, wenn Sie können, und führen Sie dann Ihre verschiedenen Prozesse gegen den Master-Satz von Bytes aus. – ManoDestra