zoukankan      html  css  js  c++  java
  • Java学习笔记之——IO

    一. IO

    IO读写

    流分类:

    按照方向:输入流(读),输出流(写)

    按照数据单位:字节流(传输时以字节为单位),字符流(传输时以字符为单位)

    按照功能:节点流,过滤流

    四个抽象类:

    InputStream:输入字节流

    OutputStream:输出字节流

    Reader:输入字符流

    Write:输出字符流

    1. 第一组:文件的读写流

    FileInputStream  VS  FileReader

     

    1)字节流

    FileInputSream:字节输入流

    常用方法:

    int

    read()

    从该输入流读取一个字节的数据。 如果当前位置没有则返回-1

    int

    read(byte[] b)

    从该输入流读取最多 b.length个字节的数据为字节数组。

    int

    read(byte[] b, int off, int len) off:开始读的位置,len:读的长度

    从该输入流读取最多 len字节的数据为字节数组。

    void

    close()

    关闭此文件输入流并释放与流相关联的任何系统资源。

    作用:

    以字节为单位从文件中把数据读到程序中

    使用步骤:

      a.创建流对象

       

      b.读数据,read,重点

       

      c.释放资源,close()

       

    注意:1.在文件中,通常一个字母占用1个字节,一个汉子至少占用2个字节,具体根编码有关。

      2.从非内存中读取数据要比从内存中读取要慢很多,效率不高

    可以一次读取多个来提高效率

    FileOutputStream:字节输出流

    常用方法:

    void

    write(int b)

    将指定的字节写入此文件输出流。

    void

    write(byte[] b, int off, int len)

    将 len字节从位于偏移量 off的指定字节数组写入此文件输出流。

    void

    write(byte[] b)

    将 b.length个字节从指定的字节数组写入此文件输出流。

    void

    close()

    关闭此文件输出流并释放与此流相关联的任何系统资源。

    作用:

    以字节为单位从程序中把数据写入到文件中

    使用步骤:

      a.创建流对象 

      b.写数据,write

      c.关闭

       

    2)字符流

    FileReader:输入字符流

     

    FileWrite:输出字符流

     

    ========================================================

    3)可读可写字节流

    RandomAccessFile

    1. 缓冲流

     

    2. 字符流(高级流)

    1)

    2)

    4.对象流

    序列化

    反序列化

    5.字符缓冲流

    笔记做的不全,这位大神做的很全  https://www.cnblogs.com/caixiaohua/p/6737808.html

  • 相关阅读:
    HDU 1421 DP
    HDU1011 树形DP
    CodeForces 219D 树形DP
    HDU2196 树形DP
    HDU5831
    HDU3177 贪心
    数位DP HDU3652
    数位DP bzoj1026
    数位DP HDU3555
    数位DP HDU2089
  • 原文地址:https://www.cnblogs.com/wrf-hsj/p/10120977.html
Copyright © 2011-2022 走看看