6Reader--FileReader2

来源:互联网 发布:惠普hp m1136的端口 编辑:程序博客网 时间:2024/06/05 06:29
通过一次读取到一个数组的方式。读取数据
eg.
asdfghj
char[] cubf = new char[3]
int num = fileReader.read(cubf);// 将a赋值到cubf[0],将s赋值到cubf[1],将d赋值到cubf[2];返回读取到的个数,此时num=3;
再次 read;
num = fileReader.read(cubf);//此时数组已满,数组指针重回指向0的位置,而磁盘上指针现在开始从f开始读,fgh分别覆盖asd,读到三个值num=3
num = fileReader.read(cubf);//此时 只读到一个值j覆盖f,num=1 ,此时数组的值为 jgh,gh不做改变。若打印当前有效值,可使用new String(cubf, 0, num);// new String(char[], begin, num) 将char[] 转为 String ,从begin的位置(0)开始,截取num个
num = fileReader.read(cubf);//此时磁盘读不到数据返回num为-1.

那么可使用 循环
int num = 0;
char[] cbuf = new char[1024]; // char是两个字节,然后1024*2个字节=2K;即表示创建2K大小的char类型数组;
这个是自定义的;即
int num = 0;
char[] cbuf = new char[1024]; // 1024个元素*2字节大小=2K大小的char类类型
while((num = cubf) != -1) {
syso(new String(cbuf, 0, num)); 
}
0 0
原创粉丝点击