Java输入输出流

http://blog.youkuaiyun.com/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 对象添加字符缓冲器,为数据输入分配内存存储空间,存取数据更为有效。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值