I/O流的分类

java.io 包中定义了多个流类型(类或抽象类)来实现输入输出功能;可以从不同的角度对其进行分类:

·按数据流的方向不同可以分为输入流和输出流.

·按处理数据单位不同可以分为字节流和字符流.

·按功能不同可以分为节点流和处理流.


字节流 字符流

输入流 InputStream Reader

输出流 OutputStream Writer


[color=red]文件与程序的关系.我们是站在程序的角度来区分输出流和输入流.对文件进行写内容,就是输出流,从文件读内容,就是输入流.

字节流是每1个字节(8位)的读,字符流是每2个字节(16位)的读.

节点流就是基本的四种(4个抽象类)流.处理流就是对这四种(4个抽象类)基本数据流进行包裹(处理)的流.[/color]


类型 字节流   字符流
File(文件) FileInputStream FileReader
FileOutputStream   FileWriter

Memory Array ByteArrayInputStream CharArrayReader
ByteArrayOutputStream   CharArrayWriter

Memory String --   StringReader
StringWriter

Pipe(管道) PipedInputerStream PipedReader
PipedOutputerStream   PipedWriter


[color=red]"".equalsIgnoreCase("");//忽略大小写的比较[/color]

常用的IO包中的类

InputStream/OutputStream 字节输入输出流
Reader/Writer 字符输入输出流
FileputStream/FileOutputStream 文件字节输入输出流
FileReadder/FileWriter 文件字符输入输出流
BufferedInputStream/BufferedOutputStream 带缓存的字节输入输出流
BufferedReadder/BufferedWriter 带缓存的字符输入输出流
ByteArreayInputStream/ByteArreayOutputStream 内存中操作字节输入输出流
InputStreamReader/OutputStreamReader 内存中操作字符输入输出流
DataInputStream/DataOutputStream 数据类型输入输出流.可以存放8种基本数据类型
PrintStream/PrintWriter 打印字节流和打印字符流
ObjectInputStream/ObjectOutputStream 对象字节输入输出流.对一个对象保存.常用于游戏存盘之类的


Serializable接口 序列化
当需要对bean部署在分布式服务器上时,就常用到对bean进行序列化.
序列化后就可以通过网络传输,或者存在硬盘上.

Transient 关键字
如果一个类是Serializable的.对于使用关键字Transient申明的属性,会不做记录.换句话说,就是Serializable的类是可以通过网络传输的.如果该类的一个属性声明为Transient,那么这个属性将不会传送有效的值过去.网络另一端得到这个类,用这个属性时,是初始化的值.

externalizable接口 是针对Serializable的
自主控制序列化的传输方式.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值