5.13 流

文件类:
  java.io.File
    基本方法;
      exists(): 判断这个文件是否存在
      mkdir(): 创建文件夹路径(只能建一层)
      mkdirs(): 创建文件夹路径
      createNewFile(): 创建文件
      delete(): 删除文件
      renameTo(): 对文件进行更名操作(也可以移动文件)
      geName(): 获取文件名称
      getPath(): 获取文件路径
      length(): 获取文件大小
      isDirectory(): 判断这个东西是不是一个目录
      isFile(): 判断这个东西是不是一个文件
      listFiles(): 获取当前这个路径下面所有的文件和文件夹

IO流(IN / OUT)
  什么是流
    流, 可以看成是一根管道, 用来读取文件的数据
    原始的数据都是用过二进制的形式来进行数据的传输,
      文件---10111010-->程序
      文件<--10111010---程序

  流的分类
    按照数据流的方向
      输入流(Input), 输出流(Output)
        输入流: 从文件往程序走数据
        输出流: 从程序往文件走数据

    按照处理数据的单位不同:
      八大数据类型所占字节数:
        byte(1), short(2), int(4), long(8)
        float(4), double(8)
        boolean(1)
        char(2)

      字节流(以stream结尾的),
      字符流(以Reader, Writer结尾的)
        字节流: 一个字节占8位, 以一个字节为单位读数据
        字符流: 一个字符占两个字节, 以一个字符为一个单位
  
    按照功能分:
      节点流, 处理流
        节点流: 只有一个根管道套在文件上进行传输
        处理流: 将节点流处理一下, 增强管道的功能, 相当于在管道上套一层

  JDK提供的流
    提供了四个基本抽象类:
      InputStream, OutputStream, Reader, Writer

    InputStream的基本方法:
      int read(): 每次调用这个方法, 就读取一个字节, 以整数的形式返回
      int read(byte[] buffer---缓冲区): 让流每次读满一个缓冲区, 再统一处理, 先存在缓冲区里, 返回值int是返回实际当中读取了多少字节数(伤硬盘的原理)
      int read(byte[] buffer, int offset, int length): 也是一个缓冲区, 读取length长度的字节数, 存到buffer的缓冲区里, 从buffer的offset位置开始存, 返回值是实际读了多少字节数
      close(): 关闭资源

    OutputStream的基本方法:
      void write(int b)
      void write(byte[] b)
      int wirte(byte[] buffer, int offset, int length)
      close()
      flush(): 将缓冲区中的文件全部写出
      在使用流的时候的一个良好的习惯, 先flush, 再close

    Reader的基本方法:

      int read()
      int read(char[] c)
      int read(char[] c, int offset, int length)
      close()

    Writer的基本方法:
      void write()
      void write(char[] c)
      void write(char[] c, int offset, int length)
      // 直接写一个字符串出去, 字符串里面的有一个方法s.toCharArray(), 查API
      void write(String s) //直接写一个字符串
      void write(String s, int offset, int length)
      close()
      flush()

  文件流(字节流, 字符流)
  缓冲流
  转换流--->字节-字符
  数据流--->八大数据类型
  Print流--->System.out.println();
  Object流--->

posted on 2018-05-13 16:55  sunyexiang  阅读(145)  评论(0编辑  收藏  举报

导航