Java:InputStream转化为byte数组
在commons-io包中org.apachemons.io.IOUtils类的toByteArray(InputStream input)已经有实现了,我们可以参考下思路,完成我们的⽅法,我们可以⽤类似下⾯的代码实现inputStream转化为byte[]数组
public static byte[] toByteArray(InputStream input) throws IOException {
ByteArrayOutputStream output = new ByteArrayOutputStream();
byte[] buffer = new byte[4096];
int n = 0;
while (-1 != (n = ad(buffer))) {
output.write(buffer, 0, n);
}
ByteArray();
}
可利⽤此Api 读取android sdcard上存储的⼆进制⽂件内容:
public static byte[] readBinaryFileContent(Context context, Uri uri) {
if (context == null || uri == null) return null;
try {
InputStream inputStream = ContentResolver().openInputStream(uri);
if (inputStream == null) return null;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte buff[] = new byte[1024];
int len = 0;
while ((len = ad(buff)) != -1) {
baos.write(buff, 0, len);
}
baos.flush();
ByteArray();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论