黑马程序员技术交流社区
标题:
用bufferedinputstream自带的缓冲区之后再自己定义一个缓冲区 为什么就不行了呢???
[打印本页]
作者:
刘孝泽
时间:
2014-6-24 18:41
标题:
用bufferedinputstream自带的缓冲区之后再自己定义一个缓冲区 为什么就不行了呢???
public class jiami {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
BufferedInputStream bis = new BufferedInputStream(new FileInputStream("62667_05big.jpg"));
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("胆小勿入.jpg"));
int b;
byte [] arr = new byte[1024];
while((b=bis.read(arr))!=-1){
System.out.println(b);
bos.write(b);
}
bis.close();
bos.close();
}
}
作者:
崔湖尧
时间:
2014-6-24 21:52
定义的没有问题,是你的用法有问题
byte [] arr = new byte[1024];
while((b=bis.read(arr))!=-1){ // 这里read(byte[])返回的是读到的长度,面不是读到的内容
System.out.println(b);
bos.write(b); // 这里应该是:bos.write(arr, 0, b);
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2