《输入输出》PPT课件.ppt
《《输入输出》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《输入输出》PPT课件.ppt(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第7章章 输入输入/输出输出流式流式I/O基础基础文件文件随机存取文件随机存取文件对象输入对象输入/输出流输出流1流流Stream的概念的概念是从源到目的的字节的有序序列,先进先出。是从源到目的的字节的有序序列,先进先出。两种基本流:两种基本流:Input stream(输入流)(输入流),Output stream(输出流)(输出流)2流操作的过程Reading:Reading:open a streamopen a streamwhile more informationwhile more information read information read informationclo
2、se the stream close the stream Writing:open a streamwhile more information write informationclose the stream3两种结构的流 Node Stream Node Stream(节点流):从特定源如磁盘文件(节点流):从特定源如磁盘文件(节点流):从特定源如磁盘文件(节点流):从特定源如磁盘文件或内存某区域进行读或写入,它是一种最基本的流。或内存某区域进行读或写入,它是一种最基本的流。或内存某区域进行读或写入,它是一种最基本的流。或内存某区域进行读或写入,它是一种最基本的流。Filter St
3、ream Filter Stream(过滤流):使用其它已存在的流(过滤流):使用其它已存在的流(过滤流):使用其它已存在的流(过滤流):使用其它已存在的流作作作作为输入源或输出目的地。它要对与其相连的另一个为输入源或输出目的地。它要对与其相连的另一个为输入源或输出目的地。它要对与其相连的另一个为输入源或输出目的地。它要对与其相连的另一个流进行某种转换。流进行某种转换。流进行某种转换。流进行某种转换。l l e HoNode InputStreamFilter InputStreamread()4两种流类的体系 Java.io Java.io包中包含了流式包中包含了流式包中包含了流式包中包含了
4、流式I/OI/O所需要的所有类。所需要的所有类。所需要的所有类。所需要的所有类。流式流式流式流式I/OI/O类根据操作的数据类型(类根据操作的数据类型(类根据操作的数据类型(类根据操作的数据类型(1616位字符或字节)位字符或字节)位字符或字节)位字符或字节)分成两个层次体系(字节流和字符流)。分成两个层次体系(字节流和字符流)。分成两个层次体系(字节流和字符流)。分成两个层次体系(字节流和字符流)。字节流:流中的数据以字节流:流中的数据以8位字节为单位进行读写,以位字节为单位进行读写,以InputStream与与OutputStream为基础类。为基础类。字符流:流中的数据以字符流:流中的数
5、据以16位字节为单位进行读写,以位字节为单位进行读写,以Reader与与Writer为基础类。为基础类。Java中的流常指的是字节流。中的流常指的是字节流。5两种流类的体系InputStream和和OutputStream是字节流的两个顶层父类。它是字节流的两个顶层父类。它们提供了输入流类和输出流类的能用们提供了输入流类和输出流类的能用API。6字节流字节流输入流类层次输入流类层次带阴影的类是节点流,其它类是过滤流带阴影的类是节点流,其它类是过滤流7InputStream 方法方法三个基本三个基本read()方法方法int read()/读一个字节返回读一个字节返回int read(byte
6、)/将数据读入将数据读入byte,返回读的字节数返回读的字节数int read(byte,int offset,int length)/将读入的数据放将读入的数据放入一个字节数组中,并返回所读字节数。两个整形参数表示所读入一个字节数组中,并返回所读字节数。两个整形参数表示所读入数据在数组入数据在数组b中的存放位置。中的存放位置。其它方法其它方法void close()/关闭流。自顶向下关闭关闭流。自顶向下关闭Filter streamint available()/返回未读的字节数返回未读的字节数long skip(long n)/跳过跳过n个字节个字节 流的回读方法流的回读方法 boolea
7、n markSupported()/测试打开的流是否支持书签测试打开的流是否支持书签void mark(int readlimt)/标记当前流,并建立标记当前流,并建立readlimt大大 小的缓冲区小的缓冲区void reset()/返回到标签出返回到标签出 8字节流字节流输出流类层次输出流类层次带阴影的类是节点流,其它类是过滤流带阴影的类是节点流,其它类是过滤流9OutputStream方法方法三个基本的三个基本的write()方法方法void write(int)/写一个字节写一个字节void write(byte)/写一个字节数组写一个字节数组void write(byte,int o
8、ffset,int length)其它方法其它方法void close()void flush()/强行写强行写一般在调用一般在调用close()方法关闭流前,可以先调用方法关闭流前,可以先调用flush()方法方法10字符流字符流 Reader和和Writer是字符流的两个顶层抽象超类。是字符流的两个顶层抽象超类。Reader和和Writer 类实现字节和字符间的自动转换。类实现字节和字符间的自动转换。每一个核心输入、输出流,都有相应的每一个核心输入、输出流,都有相应的Reader和和Writer版本。版本。11Reader的类层次的类层次带阴影的类是节点流,其它类是过滤流带阴影的类是节点流
9、,其它类是过滤流12Reader的基本方法的基本方法int read()int read();/读单个字符读单个字符int read(char cbuf)int read(char cbuf);/读字符放入数组中读字符放入数组中int read(char cbuf,int offset,int length)int read(char cbuf,int offset,int length);/读字符放入数组的指定位置读字符放入数组的指定位置 void close()/关闭流。关闭流。long skip(long n)/跳过跳过n个字符个字符boolean markSupported()/测试打
10、开的流是否支持书签测试打开的流是否支持书签void mark(int)/标记当前流,并建立标记当前流,并建立int大小缓冲区大小缓冲区void reset()/返回标签出返回标签出 boolean ready()/测试当前流是否准备好进行读测试当前流是否准备好进行读13Writer的类层次的类层次带阴影的类是节点流,其它类是过滤流带阴影的类是节点流,其它类是过滤流14Writer的基本方法的基本方法int write(int c);/int write(int c);/写单个字符写单个字符int write(char cbuf);/int write(char cbuf);/写字符数组写字符数
11、组int write(char cbuf,int offset,int length);int write(char cbuf,int offset,int length);int write(String str);int write(String str);int write(String str,int offset,int length);int write(String str,int offset,int length);void close()/关闭流关闭流void flush()/强行写强行写15字节流与字符流的比较字节流与字符流的比较 Reader Reader 和和 Inp
12、utStreamInputStream以及以及Writer Writer 与与 OutputStream定定义的义的API类似,但操作的数据类型不同。类似,但操作的数据类型不同。所有的流所有的流InputStreamInputStream、OutputStream 、ReaderReader、Writer Writer 在创建时自动打开;程序中可以调用在创建时自动打开;程序中可以调用closeclose方法关闭方法关闭流,否则流,否则JavaJava运行环境的垃圾收集器将隐含将流关闭。运行环境的垃圾收集器将隐含将流关闭。16JavaJava节节点流点流 I/O Streams I/O Stre
13、ams Type of I/OType of I/OType of I/OType of I/O流类名称流类名称流类名称流类名称StreamsStreamsStreamsStreams描述描述描述描述DescriptionDescriptionDescriptionDescriptionMemoryMemory CharArrayReaderCharArrayReaderCharArrayReaderCharArrayReaderCharArrayWriterCharArrayWriterCharArrayWriterCharArrayWriterByteArrayInputStreamByt
14、eArrayInputStreamByteArrayInputStreamByteArrayInputStreamByteArrayOutputStreamByteArrayOutputStreamByteArrayOutputStreamByteArrayOutputStream 从从从从/向内存数组读写数据向内存数组读写数据向内存数组读写数据向内存数组读写数据.StringReaderStringReaderStringReaderStringReaderStringWriterStringWriterStringWriterStringWriterStringBufferInputStr
15、eamStringBufferInputStreamStringBufferInputStreamStringBufferInputStream 从从从从/向内存字符串读写数据向内存字符串读写数据向内存字符串读写数据向内存字符串读写数据 PipePipe PipedReaderPipedReaderPipedReaderPipedReaderPipedWriterPipedWriterPipedWriterPipedWriterPipedInputStreamPipedInputStreamPipedInputStreamPipedInputStreamPipedOutputStreamPip
16、edOutputStreamPipedOutputStreamPipedOutputStream 实现管道的输入和输出实现管道的输入和输出实现管道的输入和输出实现管道的输入和输出 FileFile FileReaderFileReaderFileReaderFileReaderFileWriterFileWriterFileWriterFileWriterFileInputStreamFileInputStreamFileInputStreamFileInputStreamFileOutputStreamFileOutputStreamFileOutputStreamFileOutputStr
17、eam 统称为文件流。对文件进行统称为文件流。对文件进行统称为文件流。对文件进行统称为文件流。对文件进行读、写操作读、写操作读、写操作读、写操作 17JavaJava过滤过滤流流 I/O Streams I/O Streams Type of I/OType of I/OType of I/OType of I/OStreamsStreamsStreamsStreamsDescriptionDescriptionDescriptionDescriptionObjectObjectSerializationSerialization对对象象I/OI/O ObjectInputStreamObje
18、ctInputStreamObjectInputStreamObjectInputStreamObjectOutputStreamObjectOutputStreamObjectOutputStreamObjectOutputStream 对象的输入、输出对象的输入、输出对象的输入、输出对象的输入、输出 DataDataConversionConversion数据数据转换转换DataInputStreamDataInputStreamDataInputStreamDataInputStreamDataOutputStreamDataOutputStreamDataOutputStreamDat
19、aOutputStream 读、写基本数据类型读、写基本数据类型读、写基本数据类型读、写基本数据类型 PrintingPrinting打印流打印流 PrintWriterPrintWriterPrintWriterPrintWriterPrintStreamPrintStreamPrintStreamPrintStream 包含方便的打印方法包含方便的打印方法包含方便的打印方法包含方便的打印方法 BufferingBuffering 缓存缓存I/OI/O BufferedReaderBufferedReaderBufferedReaderBufferedReaderBufferedWriter
20、BufferedWriterBufferedWriterBufferedWriterBufferedInputStreamBufferedInputStreamBufferedInputStreamBufferedInputStreamBufferedOutputStreamBufferedOutputStreamBufferedOutputStreamBufferedOutputStream 在读入或写出时,对数据进在读入或写出时,对数据进在读入或写出时,对数据进在读入或写出时,对数据进行缓存,以减少行缓存,以减少行缓存,以减少行缓存,以减少I/OI/O的次数。的次数。的次数。的次数。18I
21、/O StreamsI/O Streams Type of I/OType of I/OType of I/OType of I/OStreamsStreamsStreamsStreamsDescriptionDescriptionDescriptionDescriptionFilteringFiltering流流流流过滤过滤过滤过滤 FilterReaderFilterReaderFilterReaderFilterReaderFilterWriterFilterWriterFilterWriterFilterWriterFilterInputStreamFilterInputStreamF
22、ilterInputStreamFilterInputStreamFilterOutputStreamFilterOutputStreamFilterOutputStreamFilterOutputStream 过滤流过滤流过滤流过滤流,在数据进行读或写时,在数据进行读或写时,在数据进行读或写时,在数据进行读或写时进行过滤。进行过滤。进行过滤。进行过滤。ConcatenationConcatenation 流流流流连连连连接接接接SequenceInputStreamSequenceInputStreamSequenceInputStreamSequenceInputStream 把多个输入流
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 输入输出 PPT 课件
限制150内