在Java中将InputStream转换为字节数组
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 如何将整个 InputStream 读入字节数组? #1楼 您需要从 InputStream 读取每个字节并将其写入 ByteArrayOutputStream 。 然后,您可以通过调用 toByteArray() 来检索基础的字节数组; 例如 InputStream is = ... ByteArrayOutputStream buffer = new ByteArrayOutputStream(); int nRead; byte[] data = new byte[16384]; while ((nRead = is.read(data, 0, data.length)) != -1) { buffer.write(data, 0, nRead); } return buffer.toByteArray(); #2楼 您可以使用Apache Commons IO 处理此任务和类似任务。 IOUtils 类型具有静态方法来读取 InputStream 并返回 byte[] 。 InputStream is; byte[] bytes = IOUtils.toByteArray(is); 在内部,这将创建一个 ByteArrayOutputStream 并将字节复制到输出,然后调用 toByteArray()