I/O流
1.两个父类OutputStream,InputStream
2.字节节点流:不管读写,均以字节形式读写。
出流:从程序–>到文件-------------写入--------------FileOutputStream
入流:从文件–>到程序-----------------读取---------------FileInputStream
write()无返回值void
read() 返回该字节的整数值
read(byte[] b) 返回字节的个数
对于过滤流,都要先创建字节流作为基本的通道,然后再接下来进行!!!
过滤流 ---- 对象流 ---- ObjectOutputStream / ObjectInputStream
关键词:Serializable
可以通过以上两个类的方法,对文件操作java的类对象,
其中,官方用语是序列化。写入out是序列化,读取in是反序列化。
有些自己创建的类无Serializable接口,不可序列化,必须安装接口Serializable。
过滤流 ---- 缓冲流 ---- BufferedOutputStream
存入到文件中,使用缓冲流,对硬盘的操作减少了。其将写入的字节存入临时内存中,通过flush() 刷新 ,进入内存。或通过close() 通过关闭,进入内存。
缓冲读取(BufferedInputStream )无优势。
过滤流 ---- 数据流 ---- DataOutputStream
通过data 的方法可以直接对非字符串进行写入和读取,重要程度很低。