io学习之read(char[])方法的使用

来源:互联网 发布:网络贷款哪个好下 编辑:程序博客网 时间:2024/06/06 19:09
public class FileReaderArray {
public static void main(String[] args) {


try {
FileReader fr = new FileReader("demo.txt");
/*
* 使用read(char[])方式读取文本文件的

* read(char[])的返回值是一个int类型------读到的字符数

* read(char[])读到的值为-1时读取结束,简单的说-1就是它(硬盘)的结束标记。

* 先创键一个字符的数组
*/
char[] buf = new char[3];//----这个就相当于一个缓冲区。
/*
* 它的功能就是将外设设备上的数据先读到内存中,以buf的数组先存储
* 内存的读取数据要比硬盘的读取数据快多了。这就是缓冲区的作用。
* ,然后,再执行
int len=0;
* while((len=fr.read(bug))!=-1){
*     System.out.println(new String(buf,0,len));
*     //这句代码的意思就是buf数组中有多少个字符,就读取多少个字符。
*     
* }
* 如文件中有“abcde”这样的数据,那么只执行两次循环。
* //这代码的效率要比小面的代码的效率高多了。
 * 
 *而如如下的代码---文件中有“abcde”这样的数据,那么循环要执行5次
 *
 *int ch=0;
 *while(fr.read()!=-1){
 *
 *    System.out.println((char)ch);
 *}
 *
 * 
*/
int num = fr.read(buf);// 将读到的字符保存到字符的数组中。
System.out.println(num + ":" + new String(buf));
int num1 = fr.read(buf);// 将读到的字符保存到字符的数组中。
System.out.println(num1 + ":" + new String(buf));
int num2 = fr.read(buf);// 将读到的字符保存到字符的数组中。
System.out.println(num2 + ":" + new String(buf));
fr.close();
} catch (Exception e) {
e.printStackTrace();
}


}
}


后面还有一些内容需要补全


图解过程

0 0
原创粉丝点击