您的位置:首页 > 其它

IO总结

2015-12-17 21:33 357 查看
总结:

字节

InputStream                     OutputStream
FileInputStream               FileOutputStream
BufferedInputStream           BufferedOutputStream
ByteArrayInputStrem           ByteArrayOutputStream
DataInputStream               DataOutputStream
PrintStream


字符

Reader                    Writer
FileReader         FileWriter
BufferedReader     BufferedWriter
InputStreamReader      OutputStreamWriter
PrintWriter




int read()
int read(byte[] b)
int read(byte[] b,int off,int len)

int read()
int read(char[] ch)
int read(char[] ch,int off,int len)

BufferedReader--->String readLine()




void write(int b)
void write(byte[] b)
void write(byte[] b ,int off,int len)

void write(int c)
void write(char[] ch)
void write(char[] ch,int off,int len)
void write(String str)
void write(String str,int off,int len)

BufferedWriter:---> void newLine()

void flush()

close()


转换流:

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line = br.readLine();


内存流:长度可变的字节数组

ByteArrayOutputStream baos = new ByteArrayOutputStream();


baos.write();//将数据写入内存 3中

读:
1)
byte[] data = baos.toByteArray()

2)文本
String str = baos.toString();

3)使用内存输入流
ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
byte[] data = new byte[baos.toByteArray().length];
bais.read(data);

4)
baos.writeTo(OutputStream)

baos.writeTo(new FileOutputStream("a.t
4000
xt"));


打印流:

PrintStream
PrintWriter
除了继承的write()方法
构造方法第二个参数boolean autoFlush 自动刷新。

新增
print
println()


数据流:专门用于写和读基本数据类型的

readInt()
readBoolean()
readUTF()
...

writeInt()
writeBoolean()
writeUTF()
...


Object流:

对象输入流
ObjectInputStream
对象输出流
ObjectOutputStream


序列化:

对象---->文件中的数据

反序列化:
文件中的数据---->对象

注意:使用对象流进行操作的时候,必须保证对象是可序列化


创建流步骤:

1 创建自定义类,实现接口,可序列化
java.io.Serializable 接口 .该接口中没有任何方法需要实现,标记
2 创建对象,使用ObjectOutputStream将对象写入本地(序列化)
3 利用ObjectInputStream将对象从本地读取出来(反序列化)

注意:
属于对象的属性是可以被序列化的
本能被序列化
1 静态属性  不能被序列化
2 transient 透明的修饰的不能序列化


IO

字节 字符

流名称 输入流 输出流 输入流 输出流 功能

4大基类 InputStream OutputStream Reader Writer 抽象类

文件流* FileInputStream FileOutputStream FileReader FileWriter 节点流

System类* System.in System.out

缓存流* BufferedInputStream BufferedOutputStream BufferedReader BufferedWriter 处理流

转换流* InputStreamReader OutputStreamWriter 处理流

打印流 PrintStream PrintWriter

内存流* ByteArrayInputStream ByteArrayOutputStream 节点流

数据流 DataInputStream DataOutputStream 处理流

对象流 ObjectInputStream ObjectOutputStream 处理流 对象序列化和反序列化

随机访问文件 RandomAccessFile类(Object类的子类)



字节
int read()
int read(byte[] b)
int read(byte[] b,int off,int len)
字符
int read()
int read(char[] ch)
int read(char[] ch,int off,int len)

String readLine()---->BufferedReader




字节
void write(int b)
void write(byte[] b)
void write(byte[] b,int off,int len)

字符
void write(int c)
void write(char[] ch)
void write(char[] ch,int off,int len)
void write(String s)
void write(String s,int off, int len)

void newLine()--->BufferedWriter


数据流:

readXXX()
writeXXX()


对象流 :对象是可序列化的 implements java.io.Serializable;

readXXX()
writeXXX()
readObject()
writeObject()


内存流:长度可变的字节数组

ByteArrayOutputStream:
byte[] toByteArray()
String toString()
writeTo(OutputStream os)

![IO流汇总](https://img-blog.csdn.net/20151217213248162)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: