bueno
¿Es necesario que cierre de forma explícita el original InputStream
si declaré una DigestInputStream
en un bloque try-con-recursos?
Ejemplo:
InputStream is = ...;
MessageDigest md = ...;
try (final DigestInputStream digestInputStream = new DigestInputStream(is, md)) {
// Read the stream...
}
¿Es necesario que cierre de forma manual es o no?
CodeMatrix:
Debido a que el DigestInputStream
es una AutoCloseable
que no es necesario para cerrarlo manualmente cuando se declaró en un bloque try-con-recursos.
Docu desde AutoCloseable
:
El {@link #Cerrar ()} método de un {@code AutoCloseable} objeto se llama automáticamente al salir de un {@code try} -con-recursos bloque para el que el objeto ha sido declarada en la cabecera de especificación de recursos.
Además, la FilterInputStream
anula el close
método que cierra la segunda mano InputStream
.