• Java日志第37天 2020.8.11


    字节输入流

    java.lang.InputStream

    此抽象类是表示字节输入流的所有类的超类

    所有子类中共性的方法:

    1. int read():从输入流中读取数据的下一个字节

    2. int read(byte[] b) :从输入流中读取一定数量的字节,并将其存储在缓冲区数组b中

    3. void close():关闭此输入流并释放与该流关联的所有系统资源

    FileInputStream

    文件字节输入流

    java.io.FiIeInputStream entends InputStream

    作用:把硬盘文件中的数据读取到内存中使用

    构造方法

    - FileInputStream(String name)

    - FileInputStream(File file)

    读取一个字节

    import java.io.FileInputStream;
    import java.io.IOException;
    
    public class Demo01InputStream {
    
        public static void main(String[] args) throws IOException {
            //创建FileInputStream对象,构造方法中绑定要读取的数据源
            FileInputStream fis = new FileInputStream("E:\Java\Practice\src\Practice\demo15\a.txt");
            //使用FileInputStream对象中的方法read,读取文件
            //read方法一次读取一个字节,读取至文件末尾返回-1
            int len = fis.read();
            System.out.println((char) len);
    
            len = fis.read();
            System.out.println((char) len);
    
            len = fis.read();
            System.out.println((char) len);
    
            //释放资源
            fis.close();
        }
    }

    结果如下:

     以上的重复代码可以使用while循环

    import java.io.FileInputStream;
    import java.io.IOException;
    
    public class Demo01InputStream {
    
        public static void main(String[] args) throws IOException {
            //创建FileInputStream对象,构造方法中绑定要读取的数据源
            FileInputStream fis = new FileInputStream("E:\Java\Practice\src\Practice\demo15\a.txt");
            //使用FileInputStream对象中的方法read,读取文件
            //read方法一次读取一个字节,读取至文件末尾返回-1
            int len = 0;
            while((len = fis.read()) != -1){
                System.out.println((char) len);
            }
    
            //释放资源
            fis.close();
        }
    }

    读取多个字节

    import java.io.FileInputStream;
    import java.io.IOException;
    import java.util.Arrays;
    
    public class Demo01InputStream {
    
        public static void main(String[] args) throws IOException {
            //创建FileInputStream对象,构造方法中绑定要读取的数据源
            FileInputStream fis = new FileInputStream("E:\Java\Practice\src\Practice\demo15\a.txt");
            //使用FileInputStream对象中的方法read,读取文件
            byte[] bytes = new byte[2];
            int len = fis.read(bytes);
            System.out.println("len = "+len);
            System.out.println(new String(bytes));
    
            len = fis.read(bytes);
            System.out.println("len = "+len);
            System.out.println(new String(bytes));
    
            len = fis.read(bytes);
            System.out.println("len = "+len);
            System.out.println(new String(bytes));
    
            //释放资源
            fis.close();
        }

    结果如下:

  • 相关阅读:
    【5.3】dict的子类
    【5.2】dict的常用方法
    【5.1】dict的abc继承关系
    【4.5】列表推导式、生成器表达式、字典推导式
    【4.4】bisect维护已排序序列
    【4.3】实现可切片的对象
    【4.2】Python序列中+、+=和extend的区别
    【4.1】Python中的序列分类
    【3.12】contextlib简化上下文管理器
    【3.11】Python中的with语句
  • 原文地址:https://www.cnblogs.com/Gazikel/p/13485444.html
Copyright © 2020-2023  润新知