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

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();
    }
}

img

img

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