как вы, ребята, проверяете наличие пустого InputStream? Я знаю, что InputStream предназначен для работы с удаленными ресурсами, поэтому вы не сможете узнать, есть ли он там, пока не прочитаете его. Я не могу использовать read (), потому что текущая позиция изменится, и использование mark () и сброс для этого кажется неуместным.
Проблема в том, что иногда невозможно проверить, если read () возвращает -1, потому что, если у вас есть поток и какая-то сторонняя библиотека использует его, вам нужно проверить, является ли он пустым, прежде чем отправлять его туда.
Под пустыми InputStreams я подразумеваю эти new ByteArrayInputStream(new byte[0])