1、i就是input,o就是output。输入输出的意思,流是水流,联想成一个水桶。 17.2 基本分类 按照读写数据的基本单位不同,分为 字节流 和 字符流。 其中字节流主要指以字节为单位进行数据读写的流,可以读写任意类型的文件。 其中字符流主要指以字符(2个字节)为单位进行数据读写的流,只能读写文本文件。 按照读写数据的方向不同,分为 输入流 和 输出流(站在程序的角度)。 其中输入流主要指从文件中读取数据内容输入到程序中,也就是读文件。 其中输出流主要指将程序中的数据内容输出到文件中,也就是写文件。 按照流的角色不同分为节点流和处理流。 其中节点流主要指直接和输入输出源对接的流。 其中处理流主要指需要建立在节点流的基础之上的流。 抽象类只能被子类new对象。
1、拷贝文件时,由于FileXXXStream 只能一个一个字节或者字符写入,速度很慢,可以用创建数组的方式写入, 2、由于数组的长度有限,随后推出专门做大数据转入的BufferedXXXStream 3、DataXXXStream 中将基本数据写入,所以二进制中,前面是0修饰的二进制写入全部为空格,再把后面的写入,如66,二进制0000 0000 …0100 0010. 写入后是 空格空格空格 66. 4、ObjectXXXStream 可以打印对象,其中要加序列号,然后被输出流反序列,序列号是输入和输出时的一个暗号。 5、PrintStream 可以做任何打印,如控制台的打印,也可以写入文件。
RandomAccessFile类 1、java.io.RandomAccessFile类主要支持对随机访问文件的读写操作。 可以指定位置的偏移量写入内容。