(1)问题说明
同学今天突然向我问了一个Java中流输出的问题,在这里记录一下。
package Test;
import java.io.FileNotFoundException;
import java.io.FileReader;
public class Demo {
public static void main(String[] args) throws Exception {
//创建读取对象
FileReader fr = new FileReader("D://reader.txt");
//定义一个长度为3的字符数组容器,用于存储读到的字符
char[] buf = new char[3];
int num = 0;
while((num=fr.read(buf))!=-1){
System.out.println(new String(buf,0,num));
}
fr.close();
}
}
上面的代码运行后输出结果如下:
(2)关于String方法的后三个参数
通过使用平台的默认字符集解码指定的 byte 子数组,构造一个新的 String。
三个参数 | 说明 |
---|---|
bytes | 要解码为字符的名为byte的数组 |
offset | 要解码的第一个 byte 的索引 |
length | 要解码的 byte 数 的长度 |
可以这样理解:如果把bytes数组比作一个从内存中取数据的容器,那么,后两个参数就相当于再在这个容器中划分大小。