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 有没有整苹果智能分拣线上图像数据
  • ¥20 有没有人会这个东西的
  • ¥15 cfx考虑调整“enforce system memory limit”参数的设置
  • ¥30 航迹分离,航迹增强,误差分析
  • ¥15 Chrome Manifest扩展引用Ajax-hook库拦截请求失败
  • ¥15 用Ros中的Topic通讯方式控制小乌龟的速度,走矩形;编写订阅器代码
  • ¥15 LLM accuracy检测
  • ¥15 pycharm添加远程解释器报错
  • ¥15 如何让子窗口鼠标滚动独立,不要传递消息给主窗口
  • ¥15 如何能达到用ping0.cc检测成这样?如图