Java输入输出流

来源:互联网 发布:手动编译java文件 编辑:程序博客网 时间:2024/05/21 19:26

流是一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以是文件,内存,或是网络连接。类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流。这时候你就可以想象数据好像在这其中“流”动一样,如下图:

java.io包是一组流类,分为:

字节流:抽象父类是InputStreamOutputStream

字符流:抽象父类是ReaderWriter

1、 InputStream

InputStream类的体系结构

FileInputStream 类:从实际磁盘文件读取数据

ByteArrayInputStream 类:在字节数组中执行读写操作

StringBufferInputStream 类:类似于ByteArrayInputStream,将字符串用作内部缓冲器

2OutputStream

定义用于写入字节或字节数组的方法。

OutputStream类的体系结构

FileOutputStream类:创建文件(如果文件不存在),并将数据写入文件

ByteArrayOutputStream类:在内存中创建缓冲器,toByteArray( )toString( )方法用于数据检索

FilterOutputStream类:高层输出流

 

File 类:提供定位本地文件系统、描述文件和目录的功能,是 java.io 包中引用实际磁盘文件的唯一对象。

 

      流类可以分为:

      底层流:包含以字节的形式读写的方法

      高层过滤器流:用于读写高层信息

   高层流要求底层流作为基础。

   FilterInputStream 类的子类包括:

   DataInputStream类:提供读取任意对象的能力

   DataOutputStream类:提供写入任意对象的能力

   BufferedInputStream类:允许程序一次一个字节地从流读取数据

      BufferedOutputStream类:允许程序一次一个字节地向流写入数据

   PrintStream类:用于写入文本或基本类型

3Reader

读取字符类型。

Reader类的体系结构

FileReader:使读取字符文件成为可能

StringReader:读取字符串的字符

CharArrayReader:允许将字符数组用作输入

InputStreamReader:从输入流读取字节,并将它们转换成字符

FilterReader:允许读取过滤字符流

BufferedReader:接受Reader 对象为参数,并对其添加字符缓冲器

4Writer

写入字符类型。

Writer类的体系结构

FileWriter:允许将字符类型数据写入文件

CharArrayWriter:允许将字符缓冲器用作输出流

PrintWriter:包含一些使生成格式化输出变得很简单的方法

FilterWriter:用于写入过滤字符流

BufferedWriter:将数据缓冲到字符输出流

 

BufferedReader:是Reader类的子类,为Reader对象添加字符缓冲器,为数据输入分配内存存储空间,存取数据更为有效。

 

 

原创粉丝点击