首先要知道buy是什么类型的对象
String(byte[] bytes, int offset, int length)
构造一个新的 String,方法是使用指定的字符集解码字节的指定子数组。
String(char[] value, int offset, int count)
分配一个新的 String,它包含来自该字符数组参数的一个子数组的字符。
String 3个参数的构造方法只有这2种,
意思就是截取 buy 这个对象 从头开始,也就是从第一个字符开始, 截取len这么长, 截取出来的字符重新创建一个叫string的 字符对象
补充: 你需要把is对象的 read方法写出来, 不然我们不知道他返回的是什么,,
public String(byte[] bytes,
int offset,
int length)构造一个新的 String,方法是使用指定的字符集解码字节的指定子数组。新的 String 的长度是一个字符集函数,因此不能等于该子数组的长度。
当给定字节在给定字符集中无效的情况下,该构造方法无指定的行为。当需要进一步控制解码过程时,应使用 CharsetDecoder 类。
参数:
bytes - 要解码为字符的字节
offset - 要解码的首字节的索引
length - 要解码的字节数
抛出:
IndexOutOfBoundsException - 如果 offset 和 length 参数索引字符超出 bytes 数组的范围
把一个字节数组buy从0取到len,取出来之后转换成String类型