欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    【教学课件】第11章输入输出流.ppt

    • 资源ID:69844219       资源大小:458.97KB        全文页数:70页
    • 资源格式: PPT        下载积分:11.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要11.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    【教学课件】第11章输入输出流.ppt

    电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社第11章 输入输出流 学习目标 本章要点上机练习 习 题电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社学习目标 本章介绍文件的处理,即文件的输入、处理、保存和读写等。首先对流的基本概念做了初步介绍,输入输出流的机制,流的分类等;8然后,详细介绍基本输入输出流和数据流链接,在文件处理方面,讲解文件类的概念,基本输入输出文件类和随即访问文件类的使用。电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社本章要点 流的基本概念输入输出流机制数据流链接基本输入输出文件类和随机访问文件类电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社流的基本概念 Java程序的输入输出功能是通过流来实现的。流是指一组有顺序的、有起点和终点的字节组合,如文件、网络等。本节将主要讨论流的基本概念。什么是流 输入输出流机制 流的分类 电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社什么是流readsinformationProgramSourceA stream流是一个很形象的概念,当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以是文件,内存,或是网络连接。类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流。这时候,数据好像在其中“流”动一样。电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社读数据操作电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社写数据操作图电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社输入输出流机制 Java中的流按照处理数据的单位可以分为两种:字节流和字符流。分别由4个抽象类来表示:InputStream,OutputStream,Reader和Writer。InputStream和Reader用于读操作;OutputStream和Writer用于写操作。Java中其他多种多样变化的流均是由它们派生出来的。电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社Java.io中的类继承关系 电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社Java.io中的类继承关系 电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社Java.io中的类继承关系 电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社Java.io中的类继承关系 电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社输入输出流机制按照对流中数据的处理方式,流又可以分为文本流和二进制流。文本流是一个字符序列,能够按照需要进行某些字符的转换,被读写的字符和外部设备之间不存在一一对应的关系,被读写的字符个数与外部设备中的字符个数不一定相等,不同类型的数据经过转换后输出到标准输出设备。电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社输入输出流机制文本不仅表示磁盘文件,也包括设备,对它们的操作也是通过流完成的,通过建立流与特定文件的联系,可以从文件中读出字节,保存到数组或使用输出流写入文件,外部调用中的字节或字符与被读写的字节或字符完全对应。所有涉及流操作的程序都要加上语句:import java.io.*。电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社输入输出流机制以上的层次图是Java类库中的一个基本层次体系。其中,InputStream和OutputStream基于字节流的,Reader和Writer基于字符流的。在这4个抽象类中,InputStream和Reader定义了完全相同的接口,其主要的方法如下:电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社输入输出流机制int read()int read(char cbuf)int read(char cbuf,int offset,int length)而OutputStream和Writer也是如此。int write(int c)电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社输入输出流机制int write(char cbuf)int write(char cbuf,int offset,int length)这6个方法都是最基本的方法,将随后具体介绍。其中read()和write()通过方法的重载来读写一个字节或者一个字节数组,更多的功能是由它们的子类来扩充完成的。电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社流的分类 流可以分为字节流、字符流、对象流和其他几大类。字节流 字符流对象流其他 电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社字节流字节流是从InputStream和OutputStream派生出来的一系列类。这类流以字节(byte)为基本处理单位。电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社字节流中的类 输入流类输出流类InputStreamOutputStreamFileInputStreamFileOutputStreamPipedInputStreamPipedOutputStreamByteArrayInputStreamByteArrayOutputStreamFilterInputStreamFilterOutputStreamDataInputStreamDataOutputStreamBufferedInputStreamBufferedOutputStream电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社字符流字符流从Reader和Writer派生出的一系列类,这类流以16位的Unicode码表示的字符为基本处理单位。电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社字符流中的类 输入流类输出流类ReaderWriterInputStreamReaderOutputStreamWriterFileReaderFileWriterCharArrayReaderCharArrayWriterPipedReaderPipedWriterFilterReaderFilterWriterBufferedReaderBufferedWriterStringReaderStringWriter电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社对象流 对象流分为ObjectInputStream和ObjectOutputStream。电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社其他 除了上面几种外,还有如下几种。文件处理:File、RandomAccessFile。接口:DataInput、DataOutput、ObjectInput、ObjectOutput。电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社流 的 使 用 流的使用是通过各种基本的方法和参数来决定的,本节将详细讨论输入输出流的各种方法及参数。InputStream和OutputStream 数据流链接 应用举例通过流读取信息 电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社InputStream和OutputStream InputStream是基本的输入流类,是一个抽象类,其定义了输入流共同的特性,类中的所有方法在遇到错误时都会引发IOException异常,所以,一般在定义方法时都会在后面加上throwsIOException语句。电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社InputStream和OutputStream OutPutStream是基本的输出流类,与InputStream对应,其定义了输出流类共同的特性。InputStream类 OutputStream类 电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社InputStream类 具有三个基本的read()方法:int read()、int read(byte)、int read(byte,int,int)其他方法:void close()、int available()、skip(long)、boolean markSupported()、void mark(int)、void reset(int)电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社InputStream类下面将分别对这些方法作简要的介绍。1)int read()、int read(byte)、int read(byte,int,int)这三个方法提供对输入管道数据的存取。简单读方法返回一个int值,它包含从流里读出的一个字节或者-1,其中后者表明文件结束。电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社InputStream类其它两种方法将数据读入到字节数组中,并返回所读的字节数。第三个方法中的两个int参数指定了所要填入的数组的子范围。电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社InputStream类2)void close()完成流操作之后,就关闭这个流。如果有一个流所组成的栈,使用过滤器流,就关闭栈顶部的流。这个关闭操作会关闭其余的流。电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社InputStream类3)int available()这个方法报告可以从流中读取字节数。在这个方法调用之后的实际读操作可能返回更多的字节数。电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社InputStream类4)skip(long)这个方法丢弃流中指定数目的字符。如果流支持“回放”操作,则下面3个方法可以用来完成这个操作。boolean markSupported()void mark(int)void reset()电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社InputStream类如果mark()和reset()方法可以在特定的流上操作,则markSupported()方法将返回ture。mark(int)方法来指明应当标记流的当前点和分配一个足够大的缓冲区,它最少可以容纳参数所指定数量的字符。在随后的read()操作完成之后,调用reset()方法来返回标记的输入点。电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社OutputStream类 OutputStream类的3个基本write()方法是:int write()、int write(byte)、int write(byte,int,int)除了基本方法,还有其他方法:void close()、void flush()电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社OutputStream类下面将分别对这些方法作简要的介绍。void write(int)、void write(byte)、void write(byte,int,int):这些方法写输出流。和输入流一样,总是尝试以实际最大的块进行写操作。电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社OutputStream类void close():当完成写操作后,就关闭输出流。如果有一个流所组成的栈,就关闭栈顶部的流。这个关闭操作会关闭其余的流。void flush():有时,一个输出流在积累了若干次之后才进行真正的写操作。flush()方法允许强制执行写操作。电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社数据流链接 光用字节或者字符为单位来对数据做输入输出是不够的,有时候需要整行的读取数据,有时也需要读取特定类型的数据。因此Java提供一种特殊的机制,能把数据流做链接(Chain),让原本没有特殊访问方法的流,通过链接到特殊的流后,可以用特定的方法来访问数据。电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社数据流链接负责这项机制的是Filter流类,分成FilterInputStream、FilterOutputStream、FilterReader和FilterWriter4个类,所有的Filter流类都是继承自它们。Filter流类的种类有很多种,总体来讲共有7种,其中以字符为单位的有5种,而字节的有6种。电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社Filter流类的种类 种类类别字 节字 符缓冲(Buffering)BufferedInputStream、BufferedOutputStreamBufferedReader、BufferedWriter字符和字节转换InputStreamReader、OutputStreamWriter对象串行化ObjectInputStream、ObjectOutputStream特定数据类型访问DataInputStream、DataOutputStream计数LineNumberInputStreamLineNumberReader重覆Pushback InputStreamPushbackReader打印PrintStreamPrintWriter电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社应用举例通过流读取信息 下面将键盘上输入的信息显示到屏幕上(光盘:源文件第11章应用举例InputDemo.txt)。电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社文 件 处 理 在I/O处理中,最常见的是对文件的操作,java.io包中有关文件处理的类有:File、FileInputStream、FileOutputStream、RamdomAccessFile和FileDescriptor。有关接口有FilenameFilter。File类是IO包中惟一能够代表磁盘文件本身的对象,File类定义了一些与平台无关的方法进行文件操作,如建立、删除、查询和重命名等。电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社文 件 处 理 File类 FileInputStream与FileOutputStream类 RandomAccessFile类 应用举例文件信息读取与复制 电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社File类File类提供了一种与电脑无关的方式来描述一个文件对象的属性。下面将介绍类File中提供的各种方法。文件或目录的生成 文件名的处理 文件属性测试 电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社文件或目录的生成文件或目录生成的方法如下所示:public File(String path):如果path是实际存在的路径,则该File对象表示的是目录;如果path是文件名,则该File对象表示的是文件。电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社文件或目录的生成public File(String path,String name):path是路径名,name是文件名。public File(File dir,String name):dir是路径名,name是文件名。电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社文件名的处理 文件名的处理方法如下所示:String getName();:得到一个文件的名称(不包括路径)。String getPath();:得到一个文件的路径名。String getAbsolutePath();:得到一个文件的绝对路径名。电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社文件名的处理String getParent();:得到一个文件的上一级目录名。String renameTo(File newName);:将当前文件名更名为给定文件的完整路径。电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社文件属性测试 文件属性测试的方法如下所示:boolean exists();:测试当前File对象所指示的文件是否存在。boolean canWrite();:测试当前文件是否可写。boolean canRead();:测试当前文件是否可读。电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社文件属性测试boolean isFile();:测试当前文件是否是文件(不是目录)。boolean isDirectory();:测试当前文件是否是目录。long lastModified();:得到文件最近一次修改的时间。电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社文件属性测试long length();:得到文件的长度,以字节为单位。boolean delete();:删除当前文件。boolean mkdir();:根据当前对象生成一个由该对象指定的路径。String list();:列出当前目录下的文件。电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社FileInputStream与FileOutputStream类 FileInputStream和FileOutputStream类用来进行文件I/O处理,由它们所提供的方法可以打开本地主机上的文件,并进行顺序的读写。FileInputStream类的常用构造方法如下所示。电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社FileInputStream与FileOutputStream类FileInputStream(String fileName)FileInputStream(File file)FileOutputStream类的常用构造方法如下所示。FileOutputStream(String fileName)FileOutputStream(File file)电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社FileInputStream与FileOutputStream类【例11-1】顺序读取文件名为text文件里的内容,并显示在控制台上面,直到文件结束为止(光盘:源文件第11章例11-1.txt)。电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社FileInputStream与FileOutputStream类【例11-2】判断C盘根目录下制定的文件1.txt是否存在,若存在则显示显示相关信息,否则显示不存在的提示信息(光盘:源文件第11章例11-2.txt)。电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社类“FileTestDemo”运行结果电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社RandomAccessFile类 如果想访问一个作为数据库的文本文件,需要移动到某一条记录并读取它的数据,接着移动到另一个记录,然后再到其他记录每一条记录都位于文件的不同部分。Java编程语言提供了RandomAccessFile类来处理这种类型的输入输出,这是随机访问文件类,其对象包含位置指示器,指向下一个字节。电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社RandomAccessFile类打开文件时,它指向文件的开头处,位置可以移动。这类对象只能访问普通文件,不能操作其他I/O设备。RandomAccessFile类不需要顺序读写,是按照某种逻辑顺序随机进行读写的。其常用构造方法是:RandomAccessFile(String name,String mode)电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社RandomAccessFile类其中,mode参数决定了对这个文件的存取是只读(r)还是读/写(rw)。RandomAccessFile提供了指针处理的方法,移动指针的方法所下所示:long getFilePointer();:返回文件指针的当前位置。电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社RandomAccessFile类void seek(long pos);:设置文件指针到给定的绝对位置。这个位置是按照从文件开始的字节偏移量给出的。位置0标志文件的开始。long length():返回文件的长度。位置length()标志文件的结束。电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社RandomAccessFile类【例11-3】向文件顺序写入三条员工记录,读出时按第2,1,3条记录的顺序进行(光盘:源文件第11章例11-3.txt)。电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社类“RandomFileDemo”运行结果电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社应用举例文件信息读取与复制 下面对文件的信息进行读取与复制(光盘:源文件第11章应用举例FCopy.txt)。电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社上 机 练 习 本节将通过用文件流写入与读出文件和创建应用程序两个上机练习,帮助读者巩固本章所学的知识点。通过文件流写入和读出文件 创建应用程序 电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社通过文件流写入和读出文件 通过文件流完成一个读写文件的操作(光盘:源文件第11章上机练习1.txt)。可以将该过程分成写入文件和读出文件两个部分。对一个文件流读写对象是一个简单的过程。电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社通过文件流写入和读出文件考虑如下代码段,它将一个对象的实例发送到一个文件;读对象和写对象一样简单,只需要说明一点:readObject()方法将流作为一个Object类型返回,而且在使用那个类的方法之前,必须把它转换成合适的类名。电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社创建应用程序 本次练习要求创建包含一个文本区域、一个打开按钮和一个关闭按钮的应用程序。当用户单击“打开”按钮时,打开一个文件对话框以帮助用户选择要查看的文件名称,然后使用RandomAccessFile类读取选定的文件并将其显示在文本区区域中(光盘:源文件第11章上机练习2.txt)。电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社 运行结果1电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社 运行结果2 和运行结果3电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社习 题(1)编写一个程序将控制台输入的字符串中的所有数字去掉再输出,如:输入d4h3s89时,输出dhs。(2)编写程序,将程序文件的源代码复制到程序文件所在目录下的temp.txt文件中。

    注意事项

    本文(【教学课件】第11章输入输出流.ppt)为本站会员(wuy****n92)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开