zoukankan      html  css  js  c++  java
  • 0425-字节输入流FileInputStream

    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();
        }
    }
  • 相关阅读:
    织梦CMS去广告方法 for DedeCMS V5.7
    织梦网站底部的Power by DedeCms怎么去掉?
    java环境变量最佳配置
    HTML课上小结
    PHP四个阶段目标以及第一阶段学习内容
    例子:选项卡和进度条
    例子:轮播效果
    例子:下拉列表
    document对象操作:浏览器页面文件
    Windows对象操作:浏览器窗口信息
  • 原文地址:https://www.cnblogs.com/sdlz/p/12771579.html
Copyright © 2011-2022 走看看