zoukankan      html  css  js  c++  java
  • Java基础之IO流整理

    Java基础之IO流

    Java IO流使用装饰器设计模式,因此如果不能理清其中的关系的话很容易把各种流搞混,此文将简单的几个流进行梳理,后序遇见新的流会继续更新(本文下方还附有xmind文件链接)

    抽象基类
    字节流:InputStream,OutputStream.

    输出流方法:close(), flush(), write(int b), write(byte[] b), write(byte[] b, int off, int len)
    输入流方法:close(), abstract int read(), int read(byte[] b)

    子类(非装饰流):文件流:FileOutputStream,FileInputStream.
    构造方法:FileOutputStream(File file),FileOutputStream(String filename)
    构造方法可以添加第二个布尔参数设置是否为追加模式

    子类(装饰流):序列化流:ObjectOutputStream,ObjectInputStream
    构造方法:ObjectOutputStream(OutputStream out), ObjectInputStream(InputStream in)
    输入流序列化方法:writeObject (Object obj)
    输出流反序列化方法:readObject ()

    子类(装饰流):过滤字节流:FilterInputStream,FilterOutputStream

    子类(装饰流):字节缓冲流:BufferedInputStream,BufferedOutputStream
    构造方法:BufferedInputStream(InputStream in), BufferedOutputStream(OutputStream out)

    子类(装饰流):打印流PrintStream
    构造方法:PrintStream(String fileName)
    方法:print(),printf(),println()...
    System.setOut(PrintStream out)

    子类(装饰流):字节数据流:DataOutputStream,DataInputStream
    构造方法:DataOutputStream(OutputStream out),DataInputStream(InputStream in)
    方法:write...

    抽象基类
    字符流:Reader,Writer

    输入流方法:close(), int read(), int read(char[] cbuf)
    输出流方法:close(), flush(),write(int c) write(char[] cbuf), write(char[] cbuf, int off, int len) write(String str)

    子类(装饰流):字符缓冲流:BufferedReader,BufferedWriter
    构造方法:BufferedReader(Reader in), BufferedWriter(Writer out)
    特有方法:String readLine(), newLine(),

    子类(装饰流2):转换流:InputStreamReader,OutputStreamWriter
    构造方法:InputStreamReader(InputStream in),InputStreamReader(InputStream in, String charsetName)

    子类(非装饰流):字符文件流:FileReader,FileWriter
    构造方法:FileWriter(File file),FileWriter(String filename)

    Java IO流采用装饰器设计模式,当包装流关闭时,其内部的被包装流也会关闭
    字符流才有write(string)方法,字节流只能写入byte和int

    xmind文件: 提取码:n414


    • readObject读取到末尾时再读取会抛出EOFException
      解决方法:
      1.记录写入的数量
      2.使用容器,例如ArrayList
      3.捕获EOFException
  • 相关阅读:
    css gridlayout
    css position 属性
    简单的登陆界面
    introduce
    Event flow
    constructor和object的区别
    10th week (1)
    编程语言的历史和发展
    正则表达式的验证匹配
    js正则替换
  • 原文地址:https://www.cnblogs.com/lixin-link/p/11038034.html
Copyright © 2011-2022 走看看