首页 > 其他 > 详细

0425-FileInputStream文件字节输入流

时间:2020-04-25 10:24:51      阅读:39      评论:0      收藏:0      [点我收藏+]
package A10_IOStream;

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

/*
java.io.InputStream字节输入了,该抽象类是表示字节输入流的所有类的超类
共性方法:
    int read()从输入流中读取数据的下一个字节。
    int read(byte[] b)从输入流中读取一定数量的字节,并存储在缓冲区数组b中。
    void close()关闭此输入流并释放与该流关联的所有系统资源

 java.io.FileInputStream extends InputStream:文件字节输入流
 作用:把硬盘中的文件数据,读取到内存中使用
 构造方法:
    FileInputStream(File file)通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的 File 对象 file 指定。
    FileInputStream(FileDescriptor fdObj)通过使用文件描述符 fdObj 创建一个 FileInputStream,该文件描述符表示到文件系统中某个实际文件的现有连接。
    FileInputStream(String name)通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的路径名 name 指定。
构造方法作用:
    1.创建FileInputStream对象
    2.把FileInputStream对象指向构造方法要读取的文件
    文件读取原理
    java程序-->JVM-->OS-->OS读取数据的方法-->读取文件
字节输入流的使用步骤(重点)
    1.创建对象  2.读取文件  3.释放资源
*/
public class D02_FileInputStream {
    public static void main(String[] args) throws IOException {
/*  一次读取一个字节
    布尔表达式(len=fis.read())!=-1
        1.fis.read()读取一个字节
        2.len=fis.read()将读取结果赋值给变量len
        3.(len=fis.read())!=-1判断变量len的值是否等于-1
    数值转字符方法:(char)num
*/
        FileInputStream fis = new FileInputStream("test.txt"); //文件内容abc
        int len=0;
        //每次读取一个字节,读取到文件末尾后调用read()方法会返回-1
        while((len=fis.read())!=-1){
            System.out.print((char)len); //abc
        }
        System.out.println("----");
        fis.close(); //关闭字节流,释放资源

/*  字节流一次读取多个字节方法
    int read(byte[] b)
        1.参数byte[] b:起缓冲作用,存储每次读取到的多个字节;数组的长度一般定义为1024(1kb)或者1024的倍数
        2.方法的返回值:每次读取的有效字节个数
*/
        FileInputStream fis2 = new FileInputStream("test.txt");
        byte[] buff=new byte[1024];
        int rlen=0;
        while ((rlen=fis2.read(buff))!=-1){ //文件尾再读取返回值-1
            System.out.println(new String(buff,0,rlen)); //写入读取的有效字节个数,从下标0开始rlen个
        }
        fis2.close();
    }
}

 

0425-FileInputStream文件字节输入流

原文:https://www.cnblogs.com/sdlz/p/12771579.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!