C.Y.H_cyh 2021-08-20 22:40 采纳率: 100%
浏览 52
已结题

为什么字节流读取文档的时候一字读取一个字节,和一次读取一个字节数组的时候;内容不一样;(文档是内容是“中国”两个字),而英文是一样的?

public class Demo1 {
    public static void main(String[] args) throws IOException {
        FileInputStream fis = new FileInputStream("day12_date\\b.txt");

        // 一次读取一个字节;
//        int read1 = fis.read();
//        System.out.println(read1);  // 228
//        int read2 = fis.read();
//        System.out.println(read2);   // 184
//        int read3 = fis.read();
//        System.out.println(read3);   // 173
//        int read4 = fis.read();
//        System.out.println(read4);   //229
//        int read5 = fis.read();
//        System.out.println(read5);   //155
//        int read6 = fis.read();
//        System.out.println(read6);   //189
//        int read7 = fis.read();
//        System.out.println(read7);   //-1 说明读到末尾

//         一次读取一个字节数组
        byte[] bytes = new byte[7];
        fis.read(bytes);
        for (byte aByte : bytes) {
            System.out.println(aByte); // -28 -72 -83 -27 -101 -67 0
        }
        fis.close();
    }
}

  • 写回答

1条回答 默认 最新

  • 二当家的白帽子 后端领域优质创作者 2021-08-27 11:02
    关注

    img

    img

    我只是试了2个数,是一样的。
    英文正好小于128,所以都是正数。中文超过128了,放在byte就会是负数。
    不知道是不是能解决你的问题,如果帮到你,希望可以采纳一下。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月6日
  • 已采纳回答 8月29日
  • 创建了问题 8月20日

悬赏问题

  • ¥15 matlab实现基于主成分变换的图像融合。
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊