小小cheng婿员 2017-06-30 08:50 采纳率: 0%
浏览 1977
已结题

java IO在写入文件的时候到了8192字节以后就报异常

HttpClient httpclient = new HttpClient();

    File file = new File("D:\\cirros-0.3.4-x86_64-disk.img");//一个本地20多M的假镜像
    PutMethod put = new PutMethod("");//我使用httpclient3.1传输文件
    BufferedOutputStream bos = null;
    BufferedInputStream bis = null;
    //下面是将文件写入http的(OutputStream) put.getRequestEntity()中
    bos = new BufferedOutputStream((OutputStream) put.getRequestEntity());
    try {
        bis = new BufferedInputStream(new FileInputStream(file));
        byte[] buff = new byte[1024];
        int i;
        while ((i = bis.read(buff)) >= 0) {//这里前8次写入都没问题,到了第九次就会报异常了  异常是空指针,什么鬼呢?新手勿喷各位大神
            bos.write(buff, 0, i);
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
  • 写回答

4条回答 默认 最新

  • 丵鹰 2017-06-30 08:52
    关注

    你最后一次刚好读取的是0 ,没有内容,所以while条件过来,但是null,你改成while ((i = bis.read(buff)) > 0)

    评论

报告相同问题?

悬赏问题

  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 matlab求解平差
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办
  • ¥15 vue2登录调用后端接口如何实现
  • ¥85 永磁型步进电机PID算法