1,序列流 SequenceInputSream
利用Vector ,可以整合多个FileInputStream
2,内存输出流 ByteArrayOutputStream
构造方法是空参,不用关联文件
把字节内容全部写到内存中
好处:可用于解决乱码的问题
弊端:如果文件过大,会出现内存溢出的问题
3,随机访问流 RandomAccessFile
不属于流,继承Object,融合了FileInputStream和FileOutputStream的功能
seek(long); //在指定位置设置读取指针
注意:不可以一边读一边写
4,对象操作流 ObjectOutputStream
序列化:将对象写到文件上
反序列化:把写在文件上的对象读取出来
必须实现Serializable接口(此接口没有方法,只作标识作用)
写出去的是集合对象,那么读取回来的也必须转成集合对象
5,数据输入输出流
DataInputStream readInt() // 把一个整数从文件中读取出来
DataOutputStream writeInt() //把一个整数写到文件中
作用:可以保证数据的原样性写出和读入
6,打印流 printStream(println,print)
作用:可以很方便的将对象的toString()结果输出,并自动加上换行,且可使用自动刷出模式
自动刷出:必须在创建对象时在构造方法中指定是否自动刷出
7,标准输入输出
System.in:标准输入流,默认指向键盘,不需要关闭
System.out:标准输出流,默认指向控制台,不需要关闭
System.setIn(InputStream):改变标准输入流的指向
System.setIn(InputStream):改变标准输出流的指向 |