1.序列流:可以把多个字节输入流整合成一个,从序列流中读取数据时,将从被整合的第一个流开始读,读完一个之后继续第二个
SequenceInputStream
2.内存输出流:可以向内存中写数据,把内存当作一个缓冲区,写出之后可以一次性获取所有数据
使用方式:(1)创建对象 new ByteArrayOutputStream()
(2)写出数据 write(int),write(byte[])
(3)获取数据 toByteArray()
3.对象操作流:可以将一个对象写出,或者读取一个对象到程序中,也就是执行了序列化和反序列化的操作
序列化:将对象写到文件上
4.打印流:可以很方便的将对象的toString()结果输出,并且自动加上换行,而且可以使用自动刷出的模式
System.out就是一个printStream,其默认向控制台输出信息
使用方式:
打印 print(),println()
自动刷出:printWriter(OutputStream out,boolean autoFlush,String encoding)
打印流只操作数据目的
5.标准的输入输出流
修改标准输入输出流,如果不关联文件,则可以不用关流
6.两种方式实现键盘录入
(1)BufferedReader的readline()方法
(2)Scanner
7.随机访问流
RandomAccessFile:不属于流,是object类的子类,但融合了InputStream和OutputStream的功能支持随机访问文件的读取和写入。
read(),write(),seek()
8.数据输入输出流:DataInputStream和DateOutputStream可以按照基本数据类型大小读写数据