1 public class Reader { 2 public static void main(String[] args) throws Exception { 3 //获取字符输入流的地址 4 FileReader reader = new FileReader("D:\\reader.txt"); 5 //定义读取到的长度 6 int len = 0; 7 //一次读取到的数据长度 8 char[] c = new char[4]; 9 //len=reader.read(c)从reader.read(c)读取到的长度 10 while ((len=reader.read(c))!=-1){ 11 for (char i : c){ 12 System.out.println(i); 13 } 14 } 15 } 16 }
因为数组一次读取四个,读取最后一次时字符数组内只有党更新了,国共产仍是上一次的数据,最后一次理应只有党输出数组
解决上述问题spa
1 while ((len=reader.read(c))!=-1){ 2 for (int i=0;i<len;i++){//i<len,len从reader.read(c)内读取的长度 3 System.out.println(c[i]); 4 } 5 }
code
.flush()-----将最后一点数据放进文件()blog
.close()-----关闭流内存
输入输出流就像一我的瓶子经过吸管向另外一个瓶子滴水,当第一个瓶子里的水滴完后,水并不能彻底到另外一个瓶子里,吸管里还有一些水,此时就须要经过.flush()将吸管里的水所有赶到杯子里,而后经过.close()关闭流资源
程序中打开的文件IO流资源不属于内存中的资源,垃圾回收机制没法回收,须要手动关闭it