-
【JAVA】笔记(17)--- IO流概述
IO分类:
1.以内存为参照物:
输入流:硬盘--->内存,叫做输入(Input),又称作读(read);
输出流:内存--->硬盘,叫做输出(Output),又称作写(write);
2.按照读取数据的方式:
字节流:一次读取一个字节(byte);字节流可以读取任意格式的文件;一个汉字是两个字节,两次读完一个汉字 ;
字符流:一次读取一个字符;字符流只能读取普通文本文件(txt);
注意:
java 中,只要类名以 “ Stream” 结尾的都是字节流,以 “ Reader / Writer ” 结尾的都是字符流;
空格也算字节或字符,空格的ASCII码值是 32 ;
IO流的四大家族(抽象类) :
java . IO . InputStream //字节输入流
java . IO . OutputStream //字节输出流
java . IO . Reader //字符输入流
java . IO . Writer //字符输出流
所有的IO流都 直接继承 / 间接继承 了上边的个别抽象类;
所有的 IO流 都实现了 Closeable 接口 ---> 所有的流都是可关闭的(调用 close 方法)
所有的输出流都实现了 Flushable 接口 ---> 所有的输出流都是可刷新的(调用 flush 方法)
注意:
在用完流以后一定要关闭,为了节省内存!
在关闭输出流之气一定要刷新,为了防止丢失数据!
java . io 包下需要掌握的16个流:
//文件专属
java. io. FileInputStream
java. io. FileOutputstream
java. io. FileReader
java. io. FileWriter
//转换流:(将字节流转换成字符流)
java. io. InputStreamReader
java. io. OutputstreamWriter
//缓冲流专属:
java. io. BufferedReader
java. io .BufferedWriter
java. io. BufferedInputStream
java. io. BufferedOutputstream
//数据流专属:
java. io . DataInputstream
java. io . DataOutputstream
//标准输出流:
java. io. Printwriter
java. io. PrintStream
对象专属流:
java. io. ObjectInputstream
java. io. Objectoutputstream
原文:https://www.cnblogs.com/Burning-youth/p/15618934.html