面向程序基础设计 3_第1页
面向程序基础设计 3_第2页
面向程序基础设计 3_第3页
面向程序基础设计 3_第4页
面向程序基础设计 3_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

面向对象程序设计与实践第十章Java文件读写面向对象程序设计与实践课程组教学目标教学方式重点知识学习目标1.掌握流类的基本概念和相关知识,培养逻辑思维能力2.掌握字节I/O流,字符I/O流,标准I/O流相关程序设计,锻炼程序设计能力3.掌握文件操作和代码实现,达到分析问题和解决问题的能力文件操作以及相关程序设计本章节以理论讲解、效果演示、代码讲解为主。锻炼学生查看帮助文档API的能力,让学生可以通过一种流的学习,自主学习其他流的使用目录CONTENTS0110-1遍历文件夹下特定格式的文件0210-2文件的复制101遍历文件夹下特定格式的文件案例描述案例分析关联知识案例实现案例小结案例拓展10-1案例描述从键盘输入接收一个文件夹路径,打印出该文件夹下所有的.java文件格式的文件名10-1关联知识I/O流概述(1)I/O流在计算机中表示输入与输出,是计算机中最基本的操作。比如通过键盘输入数据,通过鼠标单击输入信息,通过打印机打印文字等(2)Java中的I/O流操作主要是指使用Java进行输入,输出操作Java的I/O流提供了读写数据的标准方法(3)Java中任何表示数据源的对象都会提供以数据流的方式读写它的数据的方法File类(1)java.io.File类是文件名和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作(2)File类是一个与系统无关的类,任何操作系统都可以使用这个类中的方法(3)Java约定使用UNIX和URL风格的“/”作为路径分隔符,也可以使用“\”作为路径分隔符,但是在Java中单个反斜杠“\”代表转义字符,所以在使用“\”作为路径分隔符时,要写两个反斜杠“\\”10-1关联知识File类构造方法(1)File(Fileparent,Stringchlid)(2)File(Stringpathname)(3)File(Stringparent,Stringchild)(4)File(URIuri)File类常用方法(1)getAbsolutePath()(2)getPath()(3)getName()(4)length()(5)exists()(6)isDirectory()(7)isFile()(8)createNewFile()(9)delete()(10)mkdir()(11)mkdirs()(12)list()(13)listFiles()10-1关联知识绝对路径和相对路径(1)绝对路径是一个完整的路径,它是以盘符开头的路径,如D:\java\Workspace\Demo10_1\Demo10_1.java(2)相对路径是一个简化的路径,相对指的是相对于当前项目的根目录D:\java\Workspace\Demo10_1,路径可以简化书写为Demo10_1.java(3)Java中路径是不区分大小写(4)Java中的路径可以以文件结尾,也可以以文件夹(也就是目录)结尾10-1关联知识File类判断功能10-1关联知识File类创建删除功能10-1关联知识文件遍历10-1案例分析交流与讨论结合案例分析,思考一下几个问题:创建多级文件夹使用哪个方法publicString[]list()方法和publicFile[]listFiles()方法是否会遍历隐藏文件和隐藏文件夹10-1案例实现获取文件夹路径10-1案例实现获取文件夹路径下特定文件10-1案例小节I/O流File类I/O流的概念File类构造方法和常用方法10-1案例拓展在本案例中使用publicFile[]listFiles()方法遍历File目录中的所有子文件,思考使用publicString[]list()方法实现功能02文件的复制1案例描述案例分析关联知识案例实现案例小结案例拓展10-2案例描述现有一个文件a.txt,将文件中的内容全部复制到b.txt中10-2关联知识字节流流概述(1)字节流是指在传输过程中,传输数据的最基本单位是字节的流字节输出流(1)java.io.OutputStream抽象类表示字节输出流的所有类的超类,它定义了字节输出流的基本共性功能方法(2)OutputStream是抽象类,无法实例化,需要通过它的实现子类来创建对象(3)文件输出流FileOutputStream是OutputStream的子类10-2关联知识OutputStream抽象类主要方法(1)close()(2)flush()(3)write(byte[]b)(4)write(byte{}b,intoff,intlen)(5)write(intb)FileOutputStream类构造方法(1)FileOutputStream(Stringname)(2)FileOutputStream(Filefile)(3)FileOutputStream(Filefile,booleanappend)(4)FileOutputStream(Stringname,booleanappend)10-2关联知识文件写入(1)在创建FileOutputStream对象时,在构造方法中如果不存在传递的文件,则会在该路径下创建文件,并写入数据;如果存在传递文件,则直接写入数据。但如果传递的路径不存在,则会抛出异常,同时流的使用会占用一定的内存,在使用完流后要通过调用close()方法将资源释放10-2关联知识文件追加写入(1)如果要在文件中写入字符串,则需要先将字符串通过getBytes方法转换为字符数组后再写入。如果要在文件中追加写入数据,则需要使用publicFileOutputStream(Filefile,booleanappend)或者publicFileOutputStream(Stringname,booleanappend)构造方法,方法的第二参数为true则表示创建对象不会覆盖源文件,继续在文件的末尾追加写入数据;第二个参数为false则表示创建一个新文件并覆盖源文件10-2关联知识字节输入流(1)java.io.InputStream抽象类表示字节输入流的所有类的超类,读取文件,每次只读取一个字节,它定义了字节输入流的基本共性功能方法(2)InputStream是抽象类,无法实例化,需要通过它的实现子类来创建对象,这里我们以文件输入流FileInputStream类为例来创建字节输入流对象InputStream抽象类主要方法(1)close()(2)read(byte[]b)(3)read(byte[]b,intoff,intlen)(4)read()10-2关联知识FlieInputStream类构造方法(1)FileInputStream(Stringname)(2)FileInputStream(Filefile)文件读取(1)使用read()方法一次只能读取一个字节,如果文件读取完毕则会返回-1,所以在读取文件时,一般采用循环来读取。现有文件a.txt,读取该文件内容“abc”10-2关联知识缓冲流(1)使用字节流读写文件时都是以字节为单位的,如果是边读边写则速度很慢(2)缓冲流就是先把数据存在缓冲区中,然后一次性写入,类似于数据库的批量操作,效率比较高(3)字节缓冲流有BufferedInputStream和BufferedOutputStream,字符缓冲流有BufferedReader和BufferedWriter字节缓冲流构造方法(1)BufferedInputStream(InputStreamin)(2)BufferedOutputStream(OutputStreamout)10-2案例分析交流与讨论结合案例分析,思考一下问题:文件复制的步骤应有哪些10-2案例实现10-2案例小节字节流缓冲流

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论