Java程序设计.ppt
《Java程序设计.ppt》由会员分享,可在线阅读,更多相关《Java程序设计.ppt(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、JavaJava程序设计程序设计单元十一单元十一 输入输出流输入输出流 一、专业能力:一、专业能力:应知:应知:为什么需要过滤流;创建过滤流的一般方法;应会:应会:掌握创建过滤流的一般方法;掌握字节过滤流DataInputStream和DataOutputStream的使用;掌握字符过滤流BufferedReader和BufferedWriter二、方法能力:二、方法能力:学会学习、学会工作;培养科学的思维方法、开拓创新的精神和严谨的工作作风;拓展自我天赋、可持续发展能力和创造性解决问题的能力。三、社会能力:三、社会能力:学会合作,学会做人,与他人和谐相处;具有良好的团队精神、职业道德和社会责
2、任感。重点:1.创建过滤流的一般方法;2.使用流进行输入/输出操作的基本步骤;难点:用流进行输入/输出操作任务一:掌握流及标准输入输出任务一:掌握流及标准输入输出 任务三:掌握常用文件和目录操作任务三:掌握常用文件和目录操作任务二:掌握常用输入输出流使用任务二:掌握常用输入输出流使用11.1 掌握流及标准输入输出掌握流及标准输入输出 11.1.1 流及其分类流是输入/输出设备的一种抽象表示,这些设备是数据源头或是数据终点。Java应用程序可以从数据源读取数据,向数据目的地写入数据。流最简单的分类:当向一个流写入数据的时候,这个流被称为输出流。当从一个流读取数据的时候,这个流被称之为输入流。流可
3、以按流动方向,处理位置,功能等分类(如表11-1示)IO流的类层次图11-1流是对输入输出设备一种抽象表示数据数据程序输入流输出流输入设备输出设备文件文件FillReaderFillReader、FileWriteFileWrite、FileInputStreamFileInputStream、FileOutputStreamFileOutputStream缓冲缓冲BufferedReadBufferedRead、BufferedWriterBufferedWriter、BufferedInputStreamBufferedInputStream、BufferedOutputStreamBuf
4、feredOutputStream打印打印PrintWriterPrintWriter、PrintStreamPrintStream内存内存CharArrayReaderCharArrayReader、CharArraryWriterCharArraryWriter、ByteArrayInputStreamByteArrayInputStream、ByteArrayOutputStreamByteArrayOutputStream、StringReaderStringReader、StringWriterStringWriter、StringBufferInputStreamStringBuf
5、ferInputStream字符流到字节字符流到字节流转换流转换InputStreamReaderInputStreamReader、OutputStreamWriterOutputStreamWriter管道管道PipeReaderPipeReader、PipeWriterPipeWriter、PipeInputStreamPipeInputStream、PipeOutputStreamPipeOutputStream连接连接SequenceInputStreamSequenceInputStream对象串行化对象串行化ObjectInputStreamObjectInputStream、O
6、bjectOutputStreamObjectOutputStream基本数据类型基本数据类型转换转换DataInputStreamDataInputStream、DataOutputStreamDataOutputStream计数计数LineNumberReaderLineNumberReader、LineNumberInputStreamLineNumberInputStream推回缓冲区推回缓冲区PushbackReaderPushbackReader、PushbackInputStreamPushbackInputStream过滤过滤FilterReaderFilterReader、F
7、ilterWriterFilterWriter、FilterInputStreamFilterInputStream、FilterOutputStreamFilterOutputStream表表11-111-1说明:(1)首先,程序开发者可以使程序向流中写入数据或者从流中读出数据,你可以把它流想象成一个流入或流出你的程序的有序的数据序列;(2)其次,流必须连接到数据源或者数据目的地两端的任何一端,你的应用程序可以通过流来向数据源读取数据,或还可以通过流向数据目的地写入数据,即流都有自己的起点和终点,并且是顺序的。流是一个通道,通向数据源或者数据目的地;(3)要知道文件和流的差异。文件是一些具有
8、永久存储及特定顺序的字节组成的一个有序的、具有名称的集合。因此,对于文件,人们常会想到目录路径、磁盘存储、文件名、文件和目录名等方面。相反,流提供一种向后备存储器写入字节和从后备存储器读取字节的方式,后备存储器可以为多种存储媒介之一;(4)数据源或数据目的地,凡是可以存储数据都可以作为前面两者之一。在编写控制台应用程序时,程序要读取从键盘输入的数据。那么程序是怎样读取从键盘输入的数据呢?请看示例:【例11-1】从键盘按单个字节读取数据【例11-2】按字节数组从键盘输入中读取数据11.1.2 标准输入流标准输入流11.1.3 11.1.3 标准输出和标准错误标准输出和标准错误1 1、标准输出标准
9、输出 在操作系统中定义的三个标准流中,另一个是标准输出流,它同样可以通过java的类System成员获得。它对应于命令行的输出,由封装在System类的静态out成员中且为PrintStream类型。PrintStreamPrintStream类的主要写数据的方法:类的主要写数据的方法:print(dataType data)打印各种数据类型的值,dataType可以是Java的基本数据类型,也可以是字符数组、对象、字符串。println(dataType data)打印各种数据类型的值,然后终止行。dataType可以是Java的基本数据类型,也可以是字符数组、对象、字符串。printf(参
10、数.)使用指定格式字符串和参数将格式化的字符串写入此输出流的便捷方法。write(int b)将指定的字节写入此流。write(byte buf)将 len 字节从指定的初始偏移量为 off 的 byte 数组写入此流。append(char ch)将指定字符添加到此输出流。【例11-3】使用PrintStream流输出各种数据类型2 2、标准错误、标准错误 标准错误输出流,在默认情况下它通常将错误信息映射到命令行输出,由System类的err成员封装,且也是PrintStream类型。Java的System类提供一些简单的静态方法调用,允许程序开发者对标准输入、输出、和错误流进行重定向:se
11、tIn(InputStream in)-重新分配“标准”输入流。setOut(PrintStream out)-重新分配“标准”输出流。setErr(PrintStream err)-重新分配“标准”错误输出流。【例11-4】重定向方法的简单使用11.2任务二掌握常用输入输出流使用InputStream和OutputStream类是所有字节输入流和输出流的基类。它们都是抽象类,不能被实例化,然而,这两个类都声明了一些方法,这些方法为它们所表示的流定义了操作的基本集合。它的子类对于读取二进制的数据很有用途。Reader流和Writer流是能够以字符流的方式读写字节流的对象,所以说字符流本质上就是
12、一个读或写对象所面向的字节流。它们都是抽象类,不能被实例化,然而,这两个类都声明了一些方法,这些方法为它们所表示的流定义了读写字符的基本及相关操作集合。11.11.2 2.3 FileInputStream.3 FileInputStream类类和和FileOutStreamFileOutStream类类的使用的使用FileInputStream类是文件输入流,是从文件系统中的某个文件中获得输入字节,主要针对读取的二进制类型的文件的内容情况下使用它。在使用它时,必须先创建一个FileInputStream类的对象并且连接到数据源上。FileOutStream类是文件输出流,是用于将数据写入 F
13、ile 或 FileDescriptor 的输出流,主要针对写入的二进制类型的文件的内容情况下使用它。在对流的相关操作结束后,一定要调用此方法关闭流,否则应用程序或系统中有很多流打开的话,则会耗费计算机资源。使用实例使用实例:1 1、保存用户输入到文件、保存用户输入到文件【例】从键盘读入一行字符,写到文件output.txt中去2 2、显示文件内容、显示文件内容【例】显示文本文件的内容【例11-5】简单读取文件:读取Java应用程序的源代码并正确显示汉字。3 3、文件的复制、文件的复制【例】文件复制程序【例11-6】编写一个复制文件的应用程序。11.2.5 FileReader11.2.5 F
14、ileReader类和类和FileWriterFileWriter类使用类使用 FileReader和FileWriter是按字符读写的输入输出流。它的基类是InputStreamReader和OutputStreamReader。在前面知道,InputStreamReader和OutputStreamWriter的基类分别是Reader和Writer,而Reader类和Writer类以及它们的子类并不是流本身,而是提供了以字符流的形式读、写底层流的方法。因此,Reader对象或者Writer对象通常使用底层的InputStream对象和OutputStream对象来创建,InputStrea
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 程序设计
限制150内