ByteArrayOutputStream bos = new ByteArrayOutputStream();
BufferedOutputStream output = new BufferedOutputStream(bos);
BufferedInputStream input = new BufferedInputStream(new FileInputStream(file));
byte[] buffer = new byte[4096];
int n = -1;
while ((n = input.read(buffer, 0, 4096)) > -1) {
appLogger.debug("n=" + n);
output.write(buffer, 0, n);
}
/**
* 此处必须调用flush
* 如果文件大小小于4096,那么由于数据都在buffer中,
* 因此BufferedOutputStream内部的ByteArrayOutputStream
* 根本没有得到数据,因此其长度返回0
*/
output.flush();
appLogger.debug("ByteArrayLen=" + bos.size());