美文网首页
2020-08-13 FileReader

2020-08-13 FileReader

作者: DM小强 | 来源:发表于2020-08-13 00:01 被阅读0次
package com.atguigu.java;

import org.junit.Test;

import java.io.File;
import java.io.FileReader;
import java.io.IOException;

/**
 *
 * 流的分类
 * 1.操作数据单位:字节流、字符流
 * 2.数据的流向:输入流、输出流
 * 3.流的角色:节点流、处理流
 *
 * 抽象基类:                     节点流(文件流)                   缓冲流(处理流)
 * InputStream                  FileInputStream                 BufferedInputStream
 * OutputStream                 FileOutputStream                BufferedOutputStream
 * Reader                       FileReader                      BufferedReader
 * Writer                       FileWriter                      BufferedWriter
 *
 *
 * 说明点:1.read():返回读入的字符,如果达到文件末尾,返回-1 ascii码存储的
 *        2.异常的处理:为了保证流资源一定可以执行关闭操作,需要使用try-catch-finally处理
 *        3.读入的文件一定要存在,否则就会报FileNotFoundException的异常
 *
 *
 * @author JessieWu
 * @create 2020-08-13  0:28
 */
public class IOTest {
    @Test
    public void test()  {
        FileReader fr = null;
        try {
            //1.实例化File类的对象,指明要操作的文件
            File file = new File("hello.txt");//相较于当前Module下(这是Test方法)
            //2.提供具体的流
            fr = new FileReader(file);

            //3.数据的读入过程
            //read():返回读入的字符,如果达到文件末尾,返回-1 ascii码存储的
            int data = fr.read();
            while(data != -1){
                System.out.print((char) data);
                data = fr.read();
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            //4.流的关闭操作
            try {
                if(fr != null)//为了防止在第一行Null的时候第一次提供流直接报异常而产生问题。
                    fr.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    }

}

相关文章

网友评论

      本文标题:2020-08-13 FileReader

      本文链接:https://www.haomeiwen.com/subject/htmvdktx.html