有没有办法使用SQLOpenHelper
将BLOB存储到Android的SQLite中?
我的BLOB类型InputStream
。
答案 0 :(得分:3)
SQLite不支持流式BLOB或CLOB数据。您有四种选择:
要将InputStream转换为字节数组,可以使用:
public static byte[] readBytesAndClose(InputStream in) throws IOException {
try {
int block = 4 * 1024;
ByteArrayOutputStream out = new ByteArrayOutputStream(block);
byte[] buff = new byte[block];
while (true) {
int len = in.read(buff, 0, block);
if (len < 0) {
break;
}
out.write(buff, 0, len);
}
return out.toByteArray();
} finally {
in.close();
}
}