Wie Sie Jungs testen für eine leere InputStream? Ich weiß, dass InputStream ist entworfen, um mit Remote-Ressourcen zu arbeiten, so dass Sie nicht wissen können, ob es gibt, bis Sie tatsächlich von ihm lesen. Ich kann read() nicht verwenden, da sich die aktuelle Position ändern würde und die Verwendung von mark() und das Zurücksetzen dafür unangebracht zu sein scheint.
Das Problem ist, dass man manchmal nicht testen kann, ob read() -1 zurückgibt, denn wenn man einen Stream hat und eine Bibliothek eines Drittanbieters ihn benutzt, muss man testen, ob er leer ist, bevor man ihn dorthin sendet.
Mit leeren InputStreams meine ich diese new ByteArrayInputStream(new byte[0])