关闭

Java输入输出流

419人阅读 评论(0) 收藏 举报

http://blog.csdn.net/lbluedark/archive/2006/05/23/751096.aspx

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

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

字节流:抽象父类是 InputStreamOutputStream

字符流:抽象父类是 Reader Writer

1、 InputStream

InputStream 类的体系结构

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

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

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

2 OutputStream

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

OutputStream 类的体系结构

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

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

FilterOutputStream 类:高层输出流

 

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

 

      流类可以分为:

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

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

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

   FilterInputStream 类的子类包括:

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

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

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

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

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

3 Reader

读取字符类型。

Reader 类的体系结构

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

StringReader :读取字符串的字符

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

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

FilterReader :允许读取过滤字符流

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

4 Writer

写入字符类型。

Writer 类的体系结构

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

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

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

FilterWriter :用于写入过滤字符流

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

 

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

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:583340次
    • 积分:3704
    • 等级:
    • 排名:第9043名
    • 原创:39篇
    • 转载:94篇
    • 译文:5篇
    • 评论:14条
    文章分类
    最新评论