Java IO8:IO简单总结

Posted zfyang2429

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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种设计模式中的装饰器模式的典型应用,这在讲解设计模式的时候会专门讲到。

以上是关于Java IO8:IO简单总结的主要内容,如果未能解决你的问题,请参考以下文章

JAVA IO流的简单总结+收集日志异常信息

Java中的IO学习总结

java内存泄露原因简单总结

Java语言中IO的总结

java IO总结(BIONIOAIO)

socket.io简单总结