Java:InputStream,为什么读取内容后内容是这样的呢?

2025-05-18 02:04:46
推荐回答(5个)
回答(1):

byte[] tt = new byte[15];定义的tt字节数组的大小是15,System.out.println(ttttt);输出的就是length为15的字符串,因为你的test.txt的实际长度"ABCDEFG"为7位,不满15位,所以后面8位就是“????????“,至于将new byte[15]中的15改成14就会报错了,你看看是不是循环里面的15没有改成14,因为没改的话数组索引越界,就会报错,希望帮到你

回答(2):

你下面for循环那里设置读取15次,最后一个字符无法读取就会报错了,你可以用单步调试的方法来看。

回答(3):

String ttttt = new String(tt, "utf-8");
乱码,你看看你的这个JAVA文件的属性是什么编码方式。也改成UTF-8

回答(4):

你用UltraEdit打开那个文件看一下,是不是ABCDEFG后还有别的字符串之类的

回答(5):

全角英文一个字母占两个字节,可能是全角吧