Реализация пользовательского класса плагина Cordova

Если вы используете реализацию InputStream , вы можете проверить результат InputStream#markSupported() , который говорит вам, можете ли вы использовать метод mark() / reset() .

Если вы можете пометить поток во время чтения, а затем вызвать reset(), чтобы вернуться к началу.

Если вы не можете, вам придется снова открыть поток.

Другим решением было бы преобразовать InputStream в массив байтов, а затем перебрать по массиву столько раз, сколько вам нужно. Вы можете найти несколько решений в этой статье Преобразование InputStream в байтовый массив в Java с использованием сторонних библиотек или нет. Предупреждение: если прочитанный контент слишком велик, вы можете столкнуться с некоторыми проблемами памяти.

Наконец, если вам нужно прочитать изображение, используйте:

BufferedImage image = ImageIO.read(new URL("http://www.example.com/images/toto.jpg"));

Используя ImageIO#read(java.net.URL) также позволяет использовать кеш.

0
задан Jay Gauten 18 March 2019 в 01:01
поделиться