高效流:
高效字节流:BufferedInputStream/BufferedOutputStream
高效字符流:BufferedReader/BufferedWriter
Java在常规IO流的基础上,提供了更为高效的缓冲流。
高效流使用普通流对象作为构造方法参数。将普通流包装,提供高效的装饰。
关闭流时只需要关闭高效流即可。
高效字符流在普通IO方法的基础上,添加了读取一行readLine方法与换行newLine方法。
可以使用”\r\n”来代表windows中的回车换行,但是却不通用,因为不同的操作系统,它的回车换行字符不一样。所以用newLine方法换行。
转换流:
将字节流转换为字符流再进行操作,这样便非常方便。
Reader:
InputStreamReader可以完成字节输入流转换为字符输入流
Writer:
OutputStreamWriter可以完成字节输出流转换为字符输出流。
由上边可以知道,转换流是字符流的一种,创建对象时传入对应字节流对象即可完成转换动作。
转换流同样使用了包装的思想,其构造方法接收的同样为IO流对象,并非某个文件资源。关闭转换流的同时即关闭了对应的字节流
打印流: 是字符流/或字节流的子类,包含println/print方法。 字符打印流又可以开启自动刷新,println方法可以自动刷新
序列化流:
将对象持久存储到某个文件中
ObjectOutputStream: writeObject(Object obj)
ObjectInputStream: Object readObject()
Serializable:序列化接口,如果该类的对象需要存储到文件中,则该类必须实现该接口
当实现接口后,写出的序列化ID,需要与当前类的序列化ID相同,否则反序列化不成功
properties集合: 具有IO相关方法,专门操作字符串,没有泛型的双列集合,多用于读取写出配置文件。
setProperty:添加键值对
getProperty:根据键获取值
public Set<String> stringPropertyNames() :获取所有键的集合
store(输出流, String 描述信息) 集合内容存储到文件中
load(输入流) 文件中键值对读取到集合中
CommonsIO:阿帕奇组织提供的开源第三方Jar包,包含了许多常用,简介的IO操作 |