zoukankan      html  css  js  c++  java
  • Java IO8:IO简单总结

    字节流、字符流继承关系

    前几篇文章讲解了字节流、字符流的使用,不过Java提供给用户的流类远不止此,限于篇幅原因,没办法一一讲解,而且也没有必要一一讲解,就像我在写博客的时候多次提到的,有问题的时候学会查JDK API即可。OK,虽然不一一讲解每种流,我自己简单画了几张UML图,说明一下字节输入流、字节输出流、字符输入流、字符输出流这四个流类的子类继承关系。

    1、字节输入流

    2、字节输出流

    3、字符输入流

    4、字符输出流

    总结一下流类的使用

    1、File是一些文件/文件夹操作的源头,File代表的就是文件/文件夹本身,因此无论如何,使用IO的第一步是建议开发者根据路径实例化出一个File

    2、考虑使用字符流还是字节流。操作文本一般使用字符流,即Reader和Writer;操作字节文件使用字节流,即InputStream和OutputStream

    3、选择使用输入流还是输出流。把内容从文件读入Java内存使用输入流,即Reader和InputStream;把内容从Java内存读到文件使用输出流,即Writer和OutputStream

    4、使用字符流使用BufferedReader和 BufferedWriter,它们的构造函数中的参数分别是Reader和Writer,因此既可以实例化出FileReader和 FileWriter,也可以实例化出InputStreamReader和OutputStreamWriter,作为构造函数的参数传入 BufferedReader和BufferedWriter

    5、FileInputStream和FileOutputStream可以直接操作文件的读写,它们没有做缓存

    6、ObjectOutputStream和ObjectInputStream,它们分别以OutputStream和InputStream作为构造函数的参数,因此可以实例化出FileOutputStream和FileInputStream并传入

    另外,请知,IO是Java的23种设计模式中的装饰器模式的典型应用,这在讲解设计模式的时候会专门讲到。

  • 相关阅读:
    【洛谷P6178】【模板】Matrix-Tree 定理
    【洛谷P4336】黑暗前的幻想乡
    【洛谷P3332】K大数查询
    分布式存储系统大数据同步方面的两个问题
    Vector和ArrayList的比较
    HDU 3172 Virtual Friends (并查集)
    uva 12260
    uva-1427 Parade (单调队列优化dp)
    英语学习20130816 -> 这些很重要的英语句子
    新浪微博SDK授权后无法返回应用解决方案
  • 原文地址:https://www.cnblogs.com/szlbm/p/5513147.html
Copyright © 2011-2022 走看看