
一.字节输入流FileInputStream类:
1.概念与书写步骤:

书写步骤->
第一步:创建字节输入流对象,该对象一旦创建完毕之后,程序与本地文件之间就好比有了一条传输数据的"通道"
第二部:读取数据,就是利用"通道",可以把文件中的数据读取到程序中
第三步:释放资源,销毁"通道"
(本质就是把文件中的数据读取到程序中)
2.代码实现:
初始化测试类与文件a.txt,文件a.txt内容是abcde。

情况一:
a.代码:
package com.itheima.mybytestream2;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class ByteStreamDemo1 {
public static void main(String[] args) throws FileNotFoundException , IOException {
/*实现需求:读取a.txt文件中的数据(暂时不写中文)。*/
//1.创建对象
/*现在是用字节流去读取文件中的数据,可以确定是InputStream类里,
而且要从文件中读取,所以要用FileInputStream类 */
FileInputStream fis=new FileInputStream("a.txt"); //形参表示要从哪个文件中读取
//2.读取数据
int b1 = fis.read();//read方法是空参的,返回值是int型
System.out.println(b1); //打印b1
//3.释放资源
fis.close();
/* 运行结果为97,在第二步读取数据中只调用了一次read方法,所以只读取a.txt文件中一个且是第一个数据a,
但读取到程序当中的不是a,而是a对应的ASCII码即97,所以相当于把97赋值给了b1,那么打印b1时结果就是97 */
/*创建FileInputStream对象要抛出FileNotFoundException异常,用于检查要操作的文件是否存在,
* 调用read方法和close方法都需要抛出IOException异常,
* 由于IOException异常的范围大于FileNotFoundException异常,
* 所以在创建FileInputStream对象且调用read方法和close方法的情况下只需要抛出IOException异常 */
}
}
b.图示:

情况二:
a.代码:
package com.itheima.mybytestream2;
import java.io.FileInputStream;
import java.io.IOException;
public class ByteStreamDemo1 {
public static void main(String[] args) throws IOException {
/*实现需求:读取a.txt文件中的数据(暂时不写中文)。*/
//1.创建对象
/*现在是用字节流去读取文件中的数据,可以确定是InputStream类里,
而且要从文件中读取,所以要用FileInputStream类 */
FileInputStream fis = new FileInputStream("a.txt"); //形参表示要从哪个文件中读取
//2.读取数据
int b1 = fis.read();//read方法是空参的,返回值是int型
System.out.println(b1); //打印b1,运行结果为97
&nbs

最低0.47元/天 解锁文章

1177

被折叠的 条评论
为什么被折叠?



