Java中IO流的分类及应用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中IO流的分类及应用相关的知识,希望对你有一定的参考价值。

=======I/O==========================================================================

File:代表了磁盘上的文件或者目录

I/O:jvm和外部数据源的数据交换。File,db—in-àjvm---out-àfile,db

流一共有三种分类:

方向分:输入流和输出流;

单位分:字节流和字符流;

      字节流:

           InputStream/OutputStream 字节流的父接口

(1)FileInputStream/FileOutputStream  文件字节流     ((可以向下转换))

           DataInputStream/DataOutputStream  读写8种基本类型和以UTF-8读写String

           BufferedInputStream/BufferedOutputStream  带缓冲的输入/出流

           PrintStream 融合Data和Buffered,  System.out所属的类

           Piped 管道 用于线程间交换数据

           RandomAccessFile 随机访问文件

      字符流:处理字符编码问题

           Reader/Writer 字符流的父接口

           FileReader/FileWriter 文件字符流,和FileInputStream/FileOutputStream  文件流,

((可以向下转换)) 与上面的(1)是相等,

           只不过一个是字节流,下面是字符流,所以两个无法相传

InputStreamReader/OutputStreamWriter 桥转换 将字节流转成字符流 在桥转换的过程中,可以制定编解码方式

           BufferedReader/PrintWriter  有缓冲

      字符流转换为字节流时,指定编解码方式是在桥转换时指定的。

功能分:节点流和过滤流;

      节点流:用于传输数据。

      过滤流:帮助节点流更好的传输数据。

      piped(管道节点流):用于两个线程间传输数据。一个线程的输出,是另一个线程的输入。

对象序列化:

      把对象放在流上传输ObjectInputStream/ObjectOutputStream

      只有实现了Serializable接口的对象才能序列化

用transient修饰的属性,为临时属性,不参与序列化,只能修饰对象的属性。

以上是关于Java中IO流的分类及应用的主要内容,如果未能解决你的问题,请参考以下文章

IO流原理及流的分类

系统运维系列 之IO流概述及其分类(java应用)

Java知识点--IO流(上)

Java IO流

java流总结

Java 常见的 IO流