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

  • 相关阅读:
    Oracle between and 边界问题
    多线程——什么是并发与并行
    js:浅拷贝和深拷贝
    JavaScript中数组元素删除的七大方法汇总
    js 去掉字符串前面的0
    chrome总是提示"喔唷,崩溃啦"的解决办法
    智慧城市管理信息系统建设项目的架构分析
    利用DenseUNet深度神经网络数之联河湖遥感大数据的研究
    无人机+数字孪生助力河长制巡查方法探讨
    防汛可视化指挥平台“一张图”技术研究
  • 原文地址:https://www.cnblogs.com/wrf-hsj/p/10120977.html
Copyright © 2011-2022 走看看