lalalal111 2022-07-19 22:38 采纳率: 100%
浏览 20
已结题

Java IO流操作文件相关问题

问题遇到的现象和发生背景

在调用fileInputStream.read方法时,为什么按照byte数组来读取后,图片就无法显示了,只读取一个字节,图片可以正常显示

问题相关代码,请勿粘贴截图
        //client
        OutputStream outputStream = socket.getOutputStream();
        String imagePath ="src\\爆炸.jpg";
        FileInputStream fileInputStream = new FileInputStream(imagePath);
        byte[] bytes = new byte[1024];
        int n = 0;
        //读取图片文件,将数据写入到通道
        while ((n = fileInputStream.read(bytes)) != -1){
            outputStream.write(n);
        }
        outputStream.flush();
        socket.shutdownOutput();//设置置写入结束标记

        //server 将接收的图片数据写入到指定路径
        InputStream inputStream = socket.getInputStream();
        String savePath = "src\\new.jpg";
        FileOutputStream fileOutputStream = new FileOutputStream(savePath);
        //IO读取,将读取到的图片数据写入到指定路径
        byte[] bytes = new byte[1024];//设置缓冲,每次读取的字节数
        int n = 0 ;
        while ( (n = inputStream.read()) != -1){
            fileOutputStream.write(n);
        }
        fileOutputStream.flush();
运行结果及报错内容

运行无报错

我的解答思路和尝试过的方法

已排除是其他部分的问题,只要read方法读取的是数组,图片传输后就无法显示了

我想要达到的结果
  • 写回答

1条回答

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 系统已结题 7月28日
      • 已采纳回答 7月20日
      • 修改了问题 7月19日
      • 创建了问题 7月19日

      悬赏问题

      • ¥30 关于#网络安全#的问题:非对称加密验证
      • ¥20 关于线性代数里施密特正交化和QR分解的疑问
      • ¥15 matlab超类包含解析错误
      • ¥15 python拖拽文件问题
      • ¥15 执行import paddle代码出现错误如何解决?
      • ¥15 hisat2align exited with value 137
      • ¥15 寻找大学生合作开发软件(Delphi)
      • ¥30 AndroidBench&eMMC内存测试速度&Android
      • ¥15 W10 文件共享失败 怎么解决
      • ¥20 b站私信完整导出的方法