I/O流(3) 将文件中的内容读入程序中,并打印到控制台

写在前面: 我是「扬帆向海」,这个昵称来源于我的名字以及女朋友的名字。我热爱技术、热爱开源、热爱编程。技术是开源的、知识是共享的。

这博客是对自己学习的一点点总结及记录,如果您对 Java算法 感兴趣,可以关注我的动态,我们一起学习。

用知识改变命运,让我们的家人过上更好的生活

需求: 将文件中的内容读入到程序中,并打印到控制台

文件中的内容如下图:
I/O流(3) 将文件中的内容读入程序中,并打印到控制台_第1张图片
操作步骤:

  • 实例化File对象,指明读入的文件
  • 实例化FileReader 流,用于数据的读入
  • 读取数据
  • 关闭流资源

FileReader(File file)方法

创建一个新的 FileReader ,给出 File读取。

底层源码

public FileReader(File file) throws FileNotFoundException {
        super(new FileInputStream(file));
    }

参数

file – 要读取的 File

异常

FileNotFoundException – 如果文件不存在,是一个目录而不是常规文件,或者由于某些其他原因无法打开阅读,将会报文件找不到异常。

代码实现:

public class FileReaderTest {
    public static void main(String[] args) {
        FileReader fileReader = null;
        try {
            // 实例化File对象
            File file = new File("hello.txt");
            // 实例化FileReader流,用于数据的读入
            fileReader = new FileReader(file);
            // 创建一个临时存放数据的char型数组,5个一组进行读入数据
            char[] chars = new char[5];
           	// 每次读入到chars数组中的字符个数
            int length;
            // 调用流的读取方法将流中的数据读到数组中。当读入的字符个数存在时进行控制台输出
            while ((length = fileReader.read(chars)) != -1) {
                String s = new String(chars, 0, length);
                System.out.println(s);
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            // 不再使用的时候,关闭流资源
            if (fileReader != null) {
                try {
                    fileReader.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

测试结果:

Hello
China
!

你可能感兴趣的:(Java)