使用输入流通常包括4个基本步骤:

(1) 设定输入流的源

(2) 创建指向源的输入流

(3) 让输入流读取源中的数据

(4) 关闭输入流


那么我们这一节通过学习文件字节输入流熟悉一下上述4个基本步骤。


如果对文件读取需求比较简单,那么可以使用FileInputStream类(文件字节输入流),该类是InputStream类的子类(以字节为单位读取文件),该类的实例方法都是从InputStream类继承来的。


我们可以使用FileInputStream类的下列构造方法创建指向文件的输入流。

FileInputStream(String name);
FileInputStream(File file);


第一个构造方法使用给定的文件名name创建FileInputStream流;第二个构造方法使用File对象创建FileInputStream流。参数name和file指定的文件称为输入流的源。


FileInputStream输入流打开一个到达文件的通道(源就是这个文件,输入流指向这个文件)。当创建输入流时,可能会出现错误(也被称为异常)。例如,输入流指向的文件可能不存在。


当出现I/O错误,Java生成一个出错信号,它使用IOException(IO异常)对象来表示这个出错信号。程序必须在try-catch语句中的try块部分创建输入流,在catch块部分检测并处理这个异常。例如,为了读取一个名为hello.txt的文件,建立一个文件输入流in。


try {
    FileInputStream in = new FileInputStream("hello.txt"); //创建指向文件hello.txt的输入流
}
catch(IOException e) {
    System.out.println("File read error:"+e);
}


File f = new File("hello.txt"); //指定输入流的源
try {
    FileInputStream in = new FileInputstream(f); //创建指向源的输入流
}
catch(IOException e) {
    System.out.println("File read error:"+e);
}


点赞(0)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)