FileInputStream:操作本地文件的字节输入流,可以把本地文件中的数据读取到程序中来
书写步骤:
①创建字节输入流对象
细节1:如果文件不存在,直接报错
输出流:不存在-->创建,把数据写到文件当中
输入流:不存在-->报错,因为数据在文件中,如果Java创建输入流对象的时候,如果文件不存在,创建出来的也是没有数据的空文件夹,没有意义,所以直接报错
②读数据
细节1:一次读一个字节,读出来的是数据在ASCII上对应的数字
细节2:读到文件末尾了,read方法返回-1
③释放资源
细节:每次使用完流必须要释放资源
代码演示:
package a01bytestreamdemo;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class ByteStreamDemo4 {
public static void main(String[] args) throws IOException {
//1.创建对象
FileInputStream fis=new FileInputStream("Test\\a.txt");
//2.读取数据
int b1 = fis.read();
System.out.println(b1);
//3.释放资源
fis.close();
}
}
运行结果:
FileInputStream循环读取
代码演示:
package a01bytestreamdemo;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class ByteStreamDemo5 {
public static void main(String[] args) throws IOException {
FileInputStream fis=new FileInputStream("Test\\a.txt");
int b;
while((b=fis.read())!=-1){
System.out.println((char)b);
}
fis.close();
}
}
运行结果: