VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > C#教程 >
  • IO流之节点流(字符流)和数据流关闭

输入流----Reader

复制代码
 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 }
复制代码

 

 由于数组一次读取四个,读取最后一次时字符数组内只有党更新了,国共产还是上一次的数据,最后一次理应只有党输出

解决上述问题

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         }

输出流----Writer

Writer-----不关闭,数据不出现

流的关闭

.flush()-----将最后一点数据放进文件()

.close()-----关闭流

输入输出流就像一个人瓶子通过吸管向另一个瓶子滴水,当第一个瓶子里的水滴完后,水并不能完全到另一个瓶子里,吸管里还有一些水,此时就需要通过.flush()将吸管里的水全部赶到杯子里,然后通过.close()关闭流

 

程序中打开的文件IO流资源不属于内存中的资源,垃圾回收机制无法回收,需要手动关闭

出处:https://www.cnblogs.com/zmdhh/p/15056274.html


相关教程