学习流先从总体上掌握:
流的框架以4大抽象类为核心(如图)
其它的流都是在这4种类上的扩展!
注意:字符流只能处理文本信息(txt、word)(如:FileReader )
字节流功能比字符流强大:可以处理任何信息(音乐、图片、电影……)(如:FileInputStream )
字节流处理数据以字节为单位,字符流处理数据以字符为单位,显然这样的效率很低,所以产生了包裹流!
包裹流(如:BufferedInputStream、BufferedReader、
DataInputStream:能向流中写入基本数据类型的二进制数据 InputStreamReader:将字节流转换成字符流 ObjectInputStream:把对象直接写入或读出 )
掌握几个主要的就足够了!
另外,java.nio.channels.FileChannel这个类读写数据的效率相当惊人,是sun专为写异步程序设计的!
|