io流

io概念(序列化和反序列化)

在java.io包中,包含了众多对输入、输出操作相关的类。所有这些流类代表着输入源和输出目标。流就是把数据无结构化,按流的方式输入输出,这些无结构化的数据称作字节序或字符序,将这些数据无结构化的过程称为序列化,从流中把数据还原的过程叫做反序列化。

io流分类

在Java中流的体系还是比较庞大的,把这些不同的类型可以按照流传输方式分为字节流和字符流。再按照流向分类为字节输入流、字节输出流,字符输入流、字符输出流。这四个都是抽象类。其他流都要继承于其中的类。

如何选择合适的流

1、根据流向绝对选择输入流还是输出流。

流入(读文件)、流出(写)都是相对于Java程序而言。文件从硬盘流入Java程序选择输入流,使用java程序写文件到硬盘选择输出流。

2、根据传输要求选择字节流还是字符流。

每次传输一两个字节选择字节流,如果存在中文选择字符流。一般数据量大的选择字符流。

3、java中也提供读写文件的,FileInputStream和FileOutputStream用于读取所有类型的文件,包括文本文件,图片,视频等。此外,读写文本文件还可以使用FileReader和FileWrite。

你可能感兴趣的:(io流)