文件在数据库里以blob形式保存,那么在读出来的也是字节流(inputStream),下面是将字节流转换为二进制流,然后再转换为字符流以过到操作文件的目的
InputStream in = (InputStream) ds.getObject(1, "content");
//将从数据库中得到的流转化为二进制流
ByteArrayOutputStream bOut = new ByteArrayOutputStream();
int c = -1;
//逐个字节从输入流读到输出流
while ((c = in.read()) != -1)
{
bOut.write(c);
}
//产生字节数组
byte[] byteBuffer = bOut.toByteArray();
//产生输入流
ByteArrayInputStream bIn = new ByteArrayInputStream(byteBuffer);
BufferedReader br = new BufferedReader(new InputStreamReader(bIn));