字节流
输入流(读取)
父类:FileInputStream
方法:read(byte[])
输出流(写入)
父类:FileOutputStream
方法:write(byte[])
字符流
输入流(读取)
父类:FileReader
方法:read(char[])
输出流(写入)
父类:FileWriter
方法:writer(char[])
缓冲
什么是缓冲
前提是内存的读写速度要远高于磁盘的读写速度,缓冲就是内存中的一款空间,通过缓冲可以提高数据的读写速度
为什么需要缓冲
如果没有缓冲,文件读写是直接从磁盘上进行的,速度比较慢;缓冲就是在内存建立一个空间,读写之前将一部分磁盘上的数据导入到缓冲内存中,后面读写就直接从缓冲中进行,减少了直接从磁盘读写的次数,从而提高读写效率。
缓冲流:在普通的IO流基础上,加入内存缓冲区,提高IO效率
字节缓冲流
输入流(读取)父类:BufferedInputStream
输出流(写入)父类:BufferedOutputStream
字符缓冲流
输入流(读取)父类:BufferedReader
特有方法:readLine() 读取一行文字
输出流(写入)父类:BufferedWriter
特有方法:write() 读取一行文字
newLine() 插入换行
打印流
- PrintStream 字节打印流,System.out就是PrintStream
- PrintWriter 字符打印流
数据流
一种高层的字节流,能够以各种数据类型读写流中的数据
DataInputStream(输入/读取)
//构造方法
DataInputStream(InputStream is)
//常用方法
readByte()
readShort()
readInt()
readLong()
readChar()
readFloat()
readDouble()
readUTF()//读取字符串
//注意:读取各种数据类型的方法的调用顺序,必须和写入顺序一致
DataOutputStream(输出/写入)
//构造方法
DataOutputStream(OutputStream os)
//常用方法
writeByte()
writeShort()
writeInt()
writeLong()
writeFloat()
writeDouble()
writeChar()
writeBoolean()
writeUTF()//写入字符串