apache commons IOUtils.toByteArray没有为android编译

时间:2014-03-13 02:24:07

标签: android uri bytearray inputstream apache-commons

我想使用方法

byte[] IOUtils.toByteArray(Uri uri)

来自org.apache.commons.io.IOUtils。我的Uri是android.net.Uri类型的典型android uri。有谁知道我怎么解决这个问题?中介可能从uri获取输入流。有谁知道怎么做?

2 个答案:

答案 0 :(得分:1)

该方法使用java.net.URI(参考:IOUtils javadoc),而不是android.net.Uri

所以示例使用类似于:

android.net.URI auri = new android.net.URI(whatever);
java.net.URI juri = new java.net.URI(auri.toString());
try {
    byte[] output = IOUtils.toByteArray(juri);
} catch (IOException e) {
    e.printStackTrace();
}

(假设您已导入并包含在构建路径中的org.apache.commons.io库)

答案 1 :(得分:1)

Apache commons可以正常使用以下内容:

context.getContentResolver().openInputStream(uri);
byte[] attachmentBites = IOUtils.toByteArray(in);