Мне интересно, почему вы все еще можете читать байты с уже закрытого ByteArrayOutputStream
. Разве эта линия из документов не означает противоположность?Почему вы можете читать данные из уже закрытого ByteArrayOutputStream?
public void close()
: Закрывает этот поток. Это освобождает системные ресурсы, используемые для этого потока.
Пример кода:
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]);
Выход:
Length: 15
Byte #2: 109
Я делаю что-то не так?
, где вы закрываете 'ByteArrayOutputStream', вы закрыли' DataOutputStream' –
@MitulSanghani. Когда вы закрываете поток, любые вложенные потоки также закрываются. – Kayaman
ok Спасибо, я не знаю, что .. –