I/O流的分类

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

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

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

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



字节流 字符流

输入流 InputStream Reader

输出流 OutputStream Writer



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

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

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



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

Memory Array       ByteArrayInputStream              CharArrayReader
                      ByteArrayOutputStream   CharArrayWriter

Memory String              --                     StringReader
                                                          StringWriter

Pipe(管道)            PipedInputerStream              PipedReader
                        PipedOutputerStream   PipedWriter


"".equalsIgnoreCase("");//忽略大小写的比较

常用的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的
自主控制序列化的传输方式.


你可能感兴趣的:(游戏,bean)