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

    转自: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可以直接操作文件的读写,它们没有做缓存,字节流的缓存可以使用BufferedInputStream和BufferedOutputStream

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

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

  • 相关阅读:
    Chrome浏览器的使用技巧
    时刻谨记
    ElasticSearch入门
    资源收集记录(技术提高)
    【操作系统之六】Linux常用命令之less
    【操作系统之五】Linux常用命令之grep
    【操作系统之四】Linux常用命令之awk
    【操作系统之三】Linux下进程间通信-IPC(Inter-Process Communication)
    【操作系统之二】死锁
    【操作系统之一】进程、线程、协程
  • 原文地址:https://www.cnblogs.com/zfyang2429/p/10502154.html
Copyright © 2011-2022 走看看