【JAVA】笔记(17)-

【JAVA】笔记(17)-

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


由于博主目前只是一只猿宝宝,所以有些地方可能说的有些片面,若前辈们能够指点一二就更好了      (~ ̄(OO) ̄)ブ