java流
99. ByteArrayOutputStream转化为ByteArrayInputStream
ByteArrayOutputStream baos = xxx;i = new ByteArrayInputStream(baos.toByteArray())
100.将inputstream转换为byte[]
https://blog.csdn.net/yogima/article/details/128500056
100.1 方式一
直接使用IOUtils
byte[] bytes = IOUtils.toByteArray(inputStream);
100.2 方式二
private static ByteArrayOutputStream cloneInputStream(InputStream input) throws IOException {try {ByteArrayOutputStream baos = new ByteArrayOutputStream();byte[] buffer = new byte[1024];int len;while ((len = input.read(buffer)) > -1) {baos.write(buffer, 0, len);}baos.flush();return baos;} catch (IOException e) {e.printStackTrace();return null;} finally {input.close();}}
....
ByteArrayOutputStream baos = cloneInputStream(i);//直接复制流,不要重用,否则需要用reset重置位置,bmp文件还不支持重置会报错// 打开两个新的输入流
baos.toByteArray();