IO流总结

IO流总结

输入==读取

输出==写出

都要关流----->close();

普通流

字节流(以字节为单位)

字节输入流

父类----->InputStream

对象----->FileInputStream(路径)

输入----->read(); 返回有效个数且没有值时返回-1

字节输出流

父类----->OutputStream

对象----->FileOutputStream(路径)

输出----->write(); 返回有效个数且没有值时返回-1

刷新----->flush(); 做了close中的一个内容

字符流(以字符为单位,专门读取和写入文本数据的流)

字符输入流

父类----->Reader

对象----->FileReader(路径)

输入----->read(); 返回有效数且没有数时返回-1

字符输出流

父类----->Writer

对象----->FileWriter(路径)

输出----->write(); 返回有效个数且没有值时返回-1

刷新----->flush(); 做了close中的一个内容

缓冲流/高效流/装甲流(提高IO的效率和速度)

缓冲字节流(自带1024*8的字节数组)

字节输入流

对象----->BufferedInputStream(new FileInputStream(路径))

输入----->read(); 返回有效个数且没有值时返回-1

字节输出流

对象----->BufferedOutputStream(new FileOutputStream(路径))

输出----->write(); 返回有效个数且没有值时返回-1

刷新----->flush(); 做了close中的一个内容

 

缓冲字符流

字符输入流

对象----->BufferedReader(new FileReader(路径))

输入----->read(); 返回有效数且没有数时返回-1

字符输出流

对象----->BufferedWriter(new FileWriter(路径))

输出----->write(); 返回有效个数且没有值时返回-1

刷新----->flush(); 做了close中的一个内容

特殊方法

读一行文本----->readLine(); 返回String且没值返回null

跨平台回车----->newLine(); 没有返回值

注意

这里可以用装甲流扩展加速下

转换流(中间可以是文本存储/读写一起执行)

将文件中的字节转为字符

对象----->InputStreamReader(new FileInputStream(路径,编码))

输入----->read(); 返回有效数且没有数时返回-1

将文件中的字符转化为字节

对象----->OutputStreamWriter(new FileOutputStream(路径,编码))

输出----->write(); 返回有效个数且没有值时返回-1

刷新----->flush(); 做了close中的一个内容

特殊方法

读一行文本----->readLine(); 返回String且没值返回null

跨平台回车----->newLine(); 没有返回值

序列化流

反序列化字节输入流

对象----->ObjectInputStream(new FileInputStream(文件路径))

输入----->readObject(); 不需要返回值

序列化字节输出流

对象----->ObjectOutputStream(new FileOutputStream(文件路径))

输出----->writeObject(); 不需要返回值

刷新----->flush(); 做了close中的一个内容

打印流

作用不大

对象----->PrintStream(文件路径)

特有方法

改变打印流的指向----->System.setOut(对象名)

加载流

加载配置文件

配合Properties双列集合,加载配置文件

需要InputStream,所以主要用文件字节子类流FileInputStream

Properties.Load(new FileInputStream(文件路径))

 

posted @ 2020-09-10 20:11  骚哥  阅读(154)  评论(0编辑  收藏  举报