Process the bytes of the given input stream using the given processor. @param input the input stream to process @param processor the object to which to pass the bytes of the stream @return the result of the byte processor @throws IOException if an I/O error occurs @since 14.0
(InputStream input, ByteProcessor<T> processor)
| 842 | */ |
| 843 | |
| 844 | @CanIgnoreReturnValue // some processors won't return a useful result |
| 845 | public static <T> T readBytes(InputStream input, ByteProcessor<T> processor) throws IOException { |
| 846 | checkNotNull(input); |
| 847 | checkNotNull(processor); |
| 848 | byte[] buf = createBuffer(); |
| 849 | int read; |
| 850 | do { |
| 851 | read = input.read(buf); |
| 852 | } while (read != -1 && processor.processBytes(buf, 0, read)); |
| 853 | return processor.getResult(); |
| 854 | } |
| 855 | |
| 856 | /** |
| 857 | * Reads some bytes from an input stream and stores them into the buffer array {@code b}. This |
no test coverage detected