zoukankan      html  css  js  c++  java
  • 3、FileInputStream--->类文件输入流(读取文件数据)

    Api介绍

    定义

    FileInputStream 用于读取诸如图像数据之类的原始字节流。要读取字符流,请考虑使用 FileReader

    构造方法

    FileInputStream(File file) :通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的 File 对象 file 指定。
    FileInputStream(FileDescriptor fdObj) :通过使用文件描述符 fdObj 创建一个 FileInputStream,该文件描述符表示到文件系统中某个实际文件的现有连接。
    FileInputStream(String name) :通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的路径名 name 指定。

    常用方法

    int read() : 从此输入流中读取一个数据字节。
    int read(byte[] b) : 从此输入流中将最多 b.length 个字节的数据读入一个 byte 数组中。
    int read(byte[] b, int off, int len) :从此输入流中将最多 len 个字节的数据读入一个 byte 数组中。
    void close():关闭此文件输入流并释放与此流有关的所有系统资源

    理解

    第一个方法:一次读取一个字节

    public class FileInputStreamDemo {
        public static void main(String[] args) throws IOException   {
           FileInputStream fis=new FileInputStream("a.txt");//创建文件输出流对象
           System.out.println("第一次读取的内容是:"+fis.read());//直接输出第一个字节对应的ascii码
           System.out.println("第二次读取的内容是:"+(char)fis.read());//输出原字符
           fis.close();//关闭此文件输出流并释放资源
        }
    }
    /* 
     * 文件对象必须存在,比如a.txt可以没有。就会报错
     * fis.read()每次读取只读取一个字节。如果直接输出会是对应的ascii值。故而将其转换为char(char也刚好占一个字符)
    */

    第一次读取的内容是:97
    第二次读取的内容是:b

    第三个方法:一次读取一个自定义数组的长度

    public class FileInputStreamDemo {
        public static void main(String[] args) throws IOException   {
           FileInputStream fis=new FileInputStream("a.txt");//创建文件输出流对象
            
           byte[] bys = new byte[1024];
            int len = 0;
            while ((len = fis.read(bys)) != -1) {
                System.out.println(len);//当前从文件读取到的字节数
                System.out.print(new String(bys, 0, len));
            }
           
            fis.close();//关闭此文件输出流并释放资源
        }
    }
    /* 
    *一次读取一个规定字节数组的长度来读取文件
    *while是判断是为了防止读取空内容
    */

    2
    ab

  • 相关阅读:
    adb获取不了设备List of devices attached
    Appium常用的API函数
    Clevo P950笔记本加装4G模块
    “CNKI 中国知网 PDF 全文下载”油猴脚本在线安装地址
    使用XTU降低CPU功耗,自动执行不失效
    Clevo P950系列拆机
    Win10的WSL很好用呀
    ubuntu下opencv使用cvNamedWindow()和cvShowImage()出错的解决方法
    2017年研究生数学建模D题(前景目标检测)相关论文与实验结果
    [翻译]怎么阅读一篇论文
  • 原文地址:https://www.cnblogs.com/dshvv/p/5112215.html
Copyright © 2011-2022 走看看