try {
FileOutputStream tem = new FileOutputStream(mPath);
byte[] mByte = new byte[mBufferSize];
while (mInputStream.read(mByte) != -1) {
tem.write(mByte);
}
tem.flush();
tem.close();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
大神啊,你这样写肯定有问题啊
最后一次读取数据的时候可能不够mBufferSize,比如mBufferSize=1024,但是最后只有1个字节,那么剩下1023个字节就是多余的,所以文件就大一些
正确写法:
while ((len = mInputStream.read(mByte) )!= -1) {
tem.write(mByte, 0, len);
}
FileOutputStream tem = new FileOutputStream(mPath);
byte[] mByte = new byte[mBufferSize];
while (mInputStream.read(mByte) != -1) {
tem.write(mByte);
}
tem.flush();
tem.close();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
大神啊,你这样写肯定有问题啊
最后一次读取数据的时候可能不够mBufferSize,比如mBufferSize=1024,但是最后只有1个字节,那么剩下1023个字节就是多余的,所以文件就大一些
正确写法:
while ((len = mInputStream.read(mByte) )!= -1) {
tem.write(mByte, 0, len);
}
解决方案 »
- couldn't get connection factory client
- 高分请教高手高深问题,随时更换手机ip地址
- 请教:Android播放RTSP的错误Error(100,0)
- adroid启动项目是报错:Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE怎么回事
- Openfire 配置老是出错
- 创建android 最后一部出现这样的问题
- BLE 蓝牙writeCharactar疑惑
- 报错 : java.lang.UnsupportedOperationEx
- android 中如何activity如何关闭一个开启自启动的service
- 添加引用外部JAR(不在libs目录中)抛出 java.lang.NoClassDefFoundError异常
- 绘制心电图曲线
- Eclipse下安装ADT问题
IOUtils.copy(conn.getInputStream(),out);
out.flush();
out.close();