一、流的输入输出原理
流是用来读写文件的,可以把文件看成一个水桶,程序想要获得数据,弄一个管道,让文件的数据流出来
若想写入数据,弄一个管道,让数据流入文件(对于程序来说)
所以输入流是读数据,输出流是写数据
二、输入流\输出流的分类
按数据流的方向不同分为输入流和输出流
按处理数据单位不同分为字节流和字符流
按功能不同分为节点流和处理流
所有流类型都位于java.io包内,分别继承以下四种抽象流类型(对于程序来说)
字节流 字符流
输入流 InputStream Reader
输出流 OutputStream Writer
三、
输入流、输出流
读数据是输入流,写数据是输出流
字节流、字符流
字节流:一个字节8位 字符流:一个字符=2个字节
节点流、处理流
节点流:管道直接连数据源 处理流:已经有管道了,又加了一层管道过滤到杂质
四、基本方法
void close():关闭流释放内存资源
void flush():将输出流中缓冲的数据全部写出到目的地
所以执行close之前最好flush一下
五、节点流类型
类型 字符流 字节流
File FileReader FileInputStream
FileWriter FileOutputStream
六、处理流类型
处理类型 字符流 字节流
Buffering BufferedReader BufferedInputStream
缓冲流 BufferedWriter BufferedOutputStream
七、转换流
InputStreamReader和OutputStreamWriter用于字节数据和字符数据之间的转换
八、数据流
DataInputStream DataOutputStream 属于处理流,可以处理各种类型的数据
省的转换类型,节省空间
九、Print流
PrintWriter和PrintStream都属于输出流,分别针对字符和字节
有print()和flush()方法
十、Object流
用于把对象写入文件
该对象需要实现serializable接口,标记该对象是可序列化的
序列化:可以转化为字节存入硬盘
transient关键字:透明,不作存盘考虑
流是用来读写文件的,可以把文件看成一个水桶,程序想要获得数据,弄一个管道,让文件的数据流出来
若想写入数据,弄一个管道,让数据流入文件(对于程序来说)
所以输入流是读数据,输出流是写数据
二、输入流\输出流的分类
按数据流的方向不同分为输入流和输出流
按处理数据单位不同分为字节流和字符流
按功能不同分为节点流和处理流
所有流类型都位于java.io包内,分别继承以下四种抽象流类型(对于程序来说)
字节流 字符流
输入流 InputStream Reader
输出流 OutputStream Writer
三、
输入流、输出流
读数据是输入流,写数据是输出流
字节流、字符流
字节流:一个字节8位 字符流:一个字符=2个字节
节点流、处理流
节点流:管道直接连数据源 处理流:已经有管道了,又加了一层管道过滤到杂质
四、基本方法
void close():关闭流释放内存资源
void flush():将输出流中缓冲的数据全部写出到目的地
所以执行close之前最好flush一下
五、节点流类型
类型 字符流 字节流
File FileReader FileInputStream
FileWriter FileOutputStream
六、处理流类型
处理类型 字符流 字节流
Buffering BufferedReader BufferedInputStream
缓冲流 BufferedWriter BufferedOutputStream
七、转换流
InputStreamReader和OutputStreamWriter用于字节数据和字符数据之间的转换
八、数据流
DataInputStream DataOutputStream 属于处理流,可以处理各种类型的数据
省的转换类型,节省空间
九、Print流
PrintWriter和PrintStream都属于输出流,分别针对字符和字节
有print()和flush()方法
十、Object流
用于把对象写入文件
该对象需要实现serializable接口,标记该对象是可序列化的
序列化:可以转化为字节存入硬盘
transient关键字:透明,不作存盘考虑