当更新android SDK 22-> 23 org.apache.http.util.ByteArrayBuffer
不再存在时 - 是否有更换或者这是一个错误?
答案 0 :(得分:37)
这个答案可能有点晚了,但另一种方法是用 ByteArrayOutputStream 替换 ByteArrayBuffer 并使用如下字节数组:
使用ByteArraybuffer的代码示例:
BufferedInputStream bis = new BufferedInputStream(is);
ByteArrayBuffer baf = new ByteArrayBuffer(50);
while ((current = bis.read()) != -1) {
baf.append((byte) current);
}
FileOutputStream fos = new FileOutputStream(file);
fos.write(buffer.toByteArray());
现在,使用 ByteArrayOutputStream :
BufferedInputStream bis = new BufferedInputStream(is);
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
//We create an array of bytes
byte[] data = new byte[50];
int current = 0;
while((current = bis.read(data,0,data.length)) != -1){
buffer.write(data,0,current);
}
FileOutputStream fos = new FileOutputStream(file);
fos.write(buffer.toByteArray());
fos.close();
嗯,我希望这很有用。
答案 1 :(得分:5)
来自javadoc:
此类在API级别22中已弃用。
请改用
openConnection()
。有关详细信息,请访问此webpage。