Mi chiedo perché è ancora possibile leggere i byte già chiusi ByteArrayOutputStream
. Questa linea di documenti non significa il contrario?Perché è possibile leggere i dati da ByteArrayOutputStream già chiuso?
public void close()
: chiude questo flusso. Questo rilascia le risorse di sistema utilizzate per questo flusso.
codice di esempio:
String data = "Some string ...";
ByteArrayOutputStream bOut = new ByteArrayOutputStream();
DataOutputStream dOut = new DataOutputStream(bOut);
dOut.write(data.getBytes());
dOut.close();
System.out.println("Length: " + bOut.toByteArray().length);
System.out.println("Byte #2: " + bOut.toByteArray()[2]);
uscita:
Length: 15
Byte #2: 109
Sto facendo qualcosa di sbagliato?
dove si chiude 'ByteArrayOutputStream', si è chiuso' DataOutputStream' –
@MitulSanghani Quando si chiude uno stream, anche eventuali flussi annidati vengono chiusi. – Kayaman
ok Grazie non lo so .. –