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的
自主控制序列化的传输方式.
·按数据流的方向不同可以分为输入流和输出流.
·按处理数据单位不同可以分为字节流和字符流.
·按功能不同可以分为节点流和处理流.
字节流 字符流
输入流 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的
自主控制序列化的传输方式.