java文件操作时,在文件下载,写的文件为什么比原来的文件多了一个字节,打不开文件看,偶尔会刚好下载完

求答案... 求答案 展开
 我来答
freejsdou
2011-04-28 · TA获得超过421个赞
知道小有建树答主
回答量:364
采纳率:100%
帮助的人:375万
展开全部
看下面代码,你在写流的时候要调用output.write(buffer, 0, n);不能直接用output.write(buffer)。否则如果最后的流不能完全填充buffer时写的字节会比实际的字节多 。
byte[] buffer = new byte[4096];
long count = 0L;
int n = 0;
while (-1 != (n = input.read(buffer))) {
output.write(buffer, 0, n);

}
百度网友65255d8
2011-04-29
知道答主
回答量:80
采纳率:0%
帮助的人:24.5万
展开全部
if (fileInputStream != null) {
byte[] b = new byte[1024];
int i = 0;
try {
while ((i = fileInputStream.read(b)) > 0) {
out.write(b, 0, i);
}
} catch (IOException e) {
}
}
你可以参考一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式