字节输入流_InputStream类&FileInputStream类介绍与字节输入流读取字节数据

字节输入流_InputStream类&FileInputStream类介绍

package DemoOutputStream;
/*
java.io.Inputstream:字节输入流
此抽象类是表示字节输入流的所有类的超类。
定义了所有子类共性的方法:
int read()从输入流中读取数据的下一个字节。
int read(byte[] b)从输入流中读取一定数量的字节,并将其存储在缓冲区数组b 中。void close()关闭此输入流并释放与该流关联的所有系统资源。
java.io.FiLeInputstream extends Inputstream
FiLeinputstream:文件字节输入流
作用:把硬盘文件中的数据,读取到内存中使用
构造方法:
FiLeInputstream ( String name)FiLeInputstream ( File file)
参数:读取文件的数据源
String name:文件的路径File file:文件
构造方法的作用:
1.会创建一个FiLeInputstream对象
2.会把FileInputStream对象指定构造方法中要读取的文件
 */
public class Demo03InputStream {
}

读取字节数据
1.读取字节:read方法,每次可以读取一个字节的数据,提升为int类型,读取到文件末尾,返回-1,代码使用演示:

hello world
hello FileInputStream
hello method read
大家好 测试read()方法

read() 方法

package DemoOutputStream;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

/*
java.io.Inputstream:字节输入流
此抽象类是表示字节输入流的所有类的超类。
定义了所有子类共性的方法:
int read()从输入流中读取数据的下一个字节。
int read(byte[] b)从输入流中读取一定数量的字节,并将其存储在缓冲区数组b 中。void close()关闭此输入流并释放与该流关联的所有系统资源。
java.io.FiLeInputstream extends Inputstream
FiLeinputstream:文件字节输入流
作用:把硬盘文件中的数据,读取到内存中使用
构造方法:
FiLeInputstream ( String name)FiLeInputstream ( File file)
参数:读取文件的数据源
String name:文件的路径File file:文件
构造方法的作用:
1.会创建一个FiLeInputstream对象
2.会把FileInputStream对象指定构造方法中要读取的文件
读取数据的原理(硬盘-->内存)
java程序-->3VM-->oS-->os读取数据的方法-->读取文件字节输入流的使用步骤(重点)∶
1.创建FiLeInputstream对象,构造方法中绑定要读取的数据源2.使用FileInputstream对象中的方法read ,读取文件
3.释放资源
 */
public class Demo03InputStream {
    public static void main(String[] args) throws IOException {
        //1.创建FileInputStream对象,构造方法中绑定要读取的数据源
        FileInputStream fie = new FileInputStream("c.txt");
        //2.使用FiLeInputstream对象中的方法read,读取文件
        //int read()读取文件中的一个字节并返回,读取到文件的末尾返回-1
//        int len1 = fie.read();
//        System.out.println(len1);
//        int len2 = fie.read();
//        System.out.println(len2);
//        int len3 = fie.read();
//        System.out.println(len3);
//        int len4 = fie.read();
//        System.out.println(len4);
        /*
            发现以上读取文件是一个重复的过程,所以可以使用循环优化不知道文件中有多少字节,使用while循环
            while循环结束条件,读取到-1的时候结束
         布尔表达式(Len = fis.read() )!=-1
                1.fis.read():读取一个字节
                2.Len - fis.read():把读取到的字节赋值给变量Len
                3.(Len = fis.read( ) )!=-1 :判断变量Len是否不等于-1
         */
//        int len = 0;
//        while ((len = fie.read())!=-1){
//            System.out.println((char) len);
//        }
            while (fie.read()!=-1){
                System.out.println(fie.read());
            }
        //3.释放资源
        fie.close();



    }
}

 

posted @ 2022-07-09 10:23  zj勇敢飞,xx永相随  阅读(76)  评论(0编辑  收藏  举报