FileInputStream 读取英文字符时,得到的为正数,而取汉字时,得到的第一个int值为负值,第二个值可能为正数,所以当系统发现有一个int值为负值是,便将他与后面的一个int值进行拼接。故而不会搞错。
public static void main(String[] args) {
String s="abcd";
byte[] b1= s.getBytes();
System.out.println(Arrays.toString(b1));
String s1="哈利波特";
byte[] b2= s1.getBytes();
System.out.println(Arrays.toString(b2));
}
本文探讨了使用Java的FileInputStream读取文件时,对于英文字符与汉字的不同处理方式。文章通过实例展示了英文字符被读取为正数,而汉字由于UTF-8编码特性,首个字节通常为负数的情况,并解释了系统如何正确解析这些数据。

被折叠的 条评论
为什么被折叠?



