weixin_45773632 2020-11-11 17:21 采纳率: 33.3%
浏览 39

java使用FileInputStream出实现错误

public class file3 {
    //字节输出流
    /**
     * 拷贝图片*/
    public static void main(String[] args) {
        try {
            //源文件
            FileInputStream fis = new FileInputStream("c:/logo.png");
            FileOutputStream fos = new FileOutputStream("d:/logo1.png");
            //一次拷贝1K缓冲
            byte [] buf = new byte[1024];
            //循环拷贝
            int read = 0;
            while ((read=fis.read(buf)) != -1);{
                //写缓冲   从0开始到读到的位置
                fos.write(buf,0,read);
            }
            fos.flush();
            fos.close();
            fis.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

error:

Exception in thread "main" java.lang.IndexOutOfBoundsException
    at java.base/java.io.FileOutputStream.writeBytes(Native Method)
    at java.base/java.io.FileOutputStream.write(FileOutputStream.java:347)
    at file3.main(file3.java:21)

Process finished with exit code 1
 

  • 写回答

1条回答 默认 最新

  • Krumitz 2020-11-12 17:46
    关注

    文件流关的位置不对吧,可以加个finally,在里面再close

    评论

报告相同问题?

悬赏问题

  • ¥20 verilog状态机方法流水灯
  • ¥15 pandas代码实现不了意图
  • ¥15 GD32H7 从存储器到外设SPI传输数据无法重复启用DMA
  • ¥25 LT码在高斯信道下的误码率仿真
  • ¥45 渲染完成之后将物体的材质贴图改变,自动化进行这个操作
  • ¥15 yolov5目标检测并显示目标出现的时间或视频帧
  • ¥15 电视版的优酷可以设置电影连续播放吗?
  • ¥50 复现论文;matlab代码编写
  • ¥30 echarts 3d地图怎么实现一进来页面散点数据和卡片一起轮播
  • ¥15 数字图像的降噪滤波增强