- 首先说一下什么是输入流输出流,这样子说“数据进入内存的叫流入,从内存输出的的流出”。
- 从另外一个角度来说,io流可以分为 字节流和字符流, 字节流面向字节,字符流就是面向字符啦~~
- 直接访问文件的叫节点流,任何对节点流进行包装的都叫处理流。
- inputFileStream outputFileStream和带有这些后缀的流类是面向字节的,带有Write,Reader的就是面向字符的。
- 特别说明。JVM的垃圾垃圾回收机制无法对打开的流进行回收的,必须程序员手动关闭。
- 简单示例
package io; import java.io.File; import java.io.FileReader; import java.io.IOException; import java.io.Reader; public class BrokenWord1 { public static void main(String[] args) { Reader reader = null; try { File file = new File("text.txt"); //定义一个文件对象 reader = new FileReader(file); // 对这个文件对象生成一个节点流 // 特别注意,当文件读取到结尾的时候,read方法就会返回-1 // 用下边这种读取文件内容的方法比较好,可以省一行代码 int data; // 生命int类型的data是因为char也可以用int表示的呀 while ((data = reader.read())!= -1 ){ System.out.print((char)data); } } catch (IOException e) { try { // 当reader还没有初始化就出现异常的时候,对reader进行关闭是不对的 // 所以这里对他进行以下判空 if (reader != null){ reader.close(); } } catch (IOException e1) { e1.printStackTrace(); } e.printStackTrace(); } } }
只言碎语 java io
最新推荐文章于 2022-11-02 23:49:16 发布