• IO 常用IO操作类继承结构 及简单简介


    IO 字符流 Reader(源) BufferedReader LineNumberReader
    InputStreamReader FileReader(字节流通向字符流的桥梁)
    StringReader  
    Writer(目的) BufferedWriter  
    OutputStreamWriter FileWriter(字符流通向字节流的桥梁)
    StringWriter  
    PrintWriter  
    字节流 InputStream(源) FileInputStream  
    SequenceInputStream 合并流
    ByteArrayInputStream 在构造的时候,需要接收数据源,而且数据源为字节数组;
    OutputStream(目的) FileOutputStream  
    ByteArrayOutputStream 内部定义了一个可变长度的字节数组,它就是数据目的地;

    在判断文件对象是否是文件或者目录时,必须要先判断该文件对象封装的内容是否存在,通过exists判断; 在文本文件操作流构造的时候还可指定编码方式;

    File f;

    f.exists();

    f.isDirectory();

    f.isFile();

    f.deleteOnExit();// 在程序退出的时候将指定文件删除;

    f.createNewFile();// 在指定位置创建文件,如果文件已经存在,则返回false;

    f.getParent();//此方法返回的是绝对路径中的父目录,如果获取的是相对路径,返回Null,如果相对路径中有上一层目录则返回该目录;

    File.separator //文件系统分割符,不同系统分割符不同;

    FilenameFilter://用于过滤文件名;

    FilenameFilter.accept(File dir,String name); //测试指定文件是否包含在某一文件列表中;

    name:文件的名称;

    public boolean accept(File dir, String name) {     return name.endsWith(".txt");    }

    //缓冲区的出现是为了提高流的操作效率而出现的;在创建缓冲区之前,必须要有流对象;

    //缓冲技术其实是在对象内部封闭了数组,存完了之后一次性写入;

    Constructor: 将流传入buffer的构造函数;

    Notice:只要用到缓冲区,就得对缓冲区进行刷新;

    Buffered... buf;

    buf.flush();

    buf.close();//关闭缓冲区就是关闭缓冲区中的流对象;

    BufferedReader bufr;

    bufr.readLine();//返回一行,但不包含换行符;

    // 无论读取一行还是多个字符,其实最终都是在硬盘上一个一个的读取,所以最终使用的方法还是read方法一次读一个

    /*  

    * ByteArrayInputStream:在构造的时候,需要接收数据源,而且数据源为字节数组;  

    * ByteArrayOutputStream:在构造的时候,不用定义数据目的,因为内部定义了一个可变长度的字节数组,它就是数据目的地;  

    * 两个流对象都操作的是数组,并没有使用系统资源,不需要进行关闭的操作;  

    */

    // 关闭流资源之前会刷新一次内部缓冲区中的数据;

    // flush();刷新(将缓冲区中的数据存入文件中)后,流继续使用;

    // 序列化:静态的成员不能序列化;

    // 如果不想让非静态成员被序列化,加修饰符:transient int,,,

    System.in:InputStream

    System.out:OutputStream

  • 相关阅读:
    goj 来自不给标题的菜鸟出题组(巴什博弈+素数判定)
    goj 城市交通线(简单并查集)
    ACM_鸡兔同笼(二元一次方程)
    ACM_魔仙岛探险(深搜)
    ACM_螺旋填数
    ACM_开心消消乐
    构建工具是如何用 node 操作 html/js/css/md 文件的
    学习使用ExpressJS 4.0中的新Router
    请求时token过期自动刷新token
    Express的基本使用
  • 原文地址:https://www.cnblogs.com/a284628487/p/2986725.html
Copyright © 2020-2023  润新知