Betrachten Sie das folgende Code-Snippet getInputStreamForRead()
Methode erstellt und gibt einen neuen Eingabestream zum Lesen.Wiederverwendung der Eingabe Stream-Variable
InputStream is = getInputStreamForRead(); //This method creates and returns an input stream for file read
is = getDecompressedStream(is);
Da der ursprüngliche Dateiinhalt komprimiert und gespeichert wird, muss er beim Lesen dekomprimiert werden. Daher getDecompressedStream()
Methode unten würde Option bieten dem Strominhalt
public InputStream getDecompressedStream(InputStream is) throws Exception {
return new GZIPInputStream(is);
}
haben folgendes bezweifelt
zu dekomprimieren Welche eine richtige für das obige Snippet ist
is = getDecompressedStream(is)
oder
InputStream newStream = getDecompressedStream(is)
Wird die
InputStream
Variable erneut verwendet, um Probleme zu verursachen?
Ich bin komplett neu mit Streams. Bitte helfen Sie mir, dies zu wissen.
Ich glaube, Inputstream ist nur ein anderes Objekt und es wird mit neuen Wert neu zugewiesen. 1 sollte in Ordnung sein. – SomeDude
Sie könnten dies selbst testen, indem Sie es versuchen. Aber sie werden beide dasselbe tun. Beide sind gültige Optionen. – Adam
Kann ich eine ähnliche Stream-Instanz wie eine Klasseninstanz annehmen/verstehen? Oder hat die Stream-Instanz irgendwelche Ausnahmen? – lsof