教材学习内容总结
InputStream与OutputStream
10.1.1串流设计的概念
Java将输入/输出抽象化为串流,数据有来源及目的地,衔接两者的是串流对象。
从应用程序角度来看,如果要将数据从来源取出,可以使用输入串流,如果要将数据写入目的地,可以使用输出串流。在Java中,输入串流代表对象为java.io.Inputstream实例,输出串流代表对象为java.io.OutputStream实例。
dump()方法接受InputStream与OutputStream实例,分别代表读取数据的来源,以及输出数据的目的地。
FileIntputStream是InputStream的子类,用于衔接文档以读入数据,FileOutStream是OutputStream的子类,用于衔接文档以写出数据。
在不使用InputStream与OutputStream时,必须使用close()方法关闭串流。由于InputStream与OutputStrem操作了java.io.Closeable接口,其父接口为java.lang.AutoCloseable接口。
10.1.2串流继承结构
1.标准输入/输出
可以使用System的setIn()方法指定InputStream实例,重新指定标准输入来源。
可以使用System的setOut()方法指定```printStream````实例,将结果输出至指定的目的地。
2.FileInputStream与FileOutputStream
FileInputStream是InputStream的子类,可以指定文件名创建实例,一旦创建文档就开启,接着就可用来读取数据。主要操作了InputSream的read()抽象方法,可以从文档中读取数据。
FileOutputStream是OutputStream的子类,可以指定文件名创建实例,一旦创建文档就开启,接着就可以用来写出数据。主要操作了OnputSream的write()抽象方法,可以写出数据至文档。
无论FileInputStream还是FileOutputStream,在读取、写入文档时是以字节为单位,通常会使用一些高阶类进行打包,不使用时都要使用close()关闭文档。
3.ByteArryInputStream与ByteArryOutputStream
ByteArryInputStream是InputStrteam的子类,可以指定byte数组创建实例,一旦创建就可将byte数组当做数据源进行读取。
ByteArryOutputStream是OutputStream的子类,可以指定byte数组创建实例,一旦创建将byte数组当做目的地写出数据。
10.1.3串流处理装饰器
InputStream、OutStream提供串流基本操作,如果想要为输入/输出的数据做加工处理,则可以使用打包器类。
常用的打包器具备缓冲区作用的BufferedIutputStream、BufferedOnputStream,具备数据转换处理的DataInputStream、DataOutputStream,具备对象串行化能力的ObjectInputStream、ObjectOutputStream等。
10.2字符处理类
10.2.1Reader与Writer继承架构
针对字符数据的读取,Java SE提供了java.io.Reader类,其抽象化了字符数据读入的来源。
针对字符数据的写入,则提供了java.io.Writer类。其抽象化了数据写出的目的地。
学习时间:每周五小时
标签:总结,Java,子类,InputStream,实例,文档,串流,java From: https://www.cnblogs.com/tqylqt/p/17660696.html