(教案)Java程序设计精编教程(第3版)-教案48学时-第10章_第1页
(教案)Java程序设计精编教程(第3版)-教案48学时-第10章_第2页
(教案)Java程序设计精编教程(第3版)-教案48学时-第10章_第3页
(教案)Java程序设计精编教程(第3版)-教案48学时-第10章_第4页
(教案)Java程序设计精编教程(第3版)-教案48学时-第10章_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

PAGEPAGE10授课内容学时分配教学方法与手段进度计划(周次)课堂讲授(学时)上机实践(学时)Java入门2201Java应用程序的基本结构4221-2标识符与简单的数据类型运算符、表达式与语句2202类与对象8623~4子类与继承4405接口与实现4226内部类与异常类2207常用实用类4407-8输入、输出流2208组件及事件处理6429-10Java多线程机制44010-11Java网络编程22011JDBC数据库操作42212总学时=SUM(ABOVE)48=SUM(ABOVE)38=SUM(ABOVE)10

各章教学实施计划章节题目第10章输入、输出流10.1节-10.5节10.6节-10.12节(课时所限,学生自主学习)学时2教学目的、要求(分了解、理解、掌握三个层次):1、了解File类。2、掌握字节流与字符流。3、掌握文件字节流。4、掌握文件字符流。5、掌握缓冲流了解随机流、数组流、数据流、对象流、序列化与对象克隆、文件锁、使用Scanner解析文件。教学内容(包括基本内容、重点、难点):基本内容:File类◆字节流与字符流文件字节流◆文件字符流缓冲流◆随机流数组流◆数据流对象流◆序列化与对象可隆文件锁◆使用Scanner解析文件重点包括通过文件流读写数据、字节流与字符流的区别;掌握流的连接思想;输入输出流的使用、缓冲流。难点流的连接思想、流的应用。讨论、思考题、作业:P203习题101-10题自主学习第10章10.6-10.12节参考书目(含参考书、文献等)具体内容:参考书对应章节

课堂教学实施计划第13课教学过程设计:复习分钟;授新课95分钟讨论5分钟;其它分钟授课类型(请打√):理论课√讨论课□实验课□习题课□其它□教学方式(请打√):讲授√讨论□示教□指导□其它□教学手段(请打√):多媒体模型□实物□挂图□音像□其它√主要内容File类◆字节流与字符流文件字节流◆文件字符流缓冲流◆随机流数组流◆数据流对象流◆序列化与对象可隆文件锁◆使用Scanner解析文件重点包括通过文件流读写数据、字节流与字符流的区别;掌握流的连接思想;输入输出流的使用、缓冲流。难点流的连接思想、流的应用。第10章输入、输出流§10.1File类File对象主要用来获取文件本身的一些信息,不涉及对文件的读写操作。创建一个File对象的构造方法有3个:File(Stringfilename);File(StringdirectoryPath,Stringfilename);File(Filef,Stringfilename);§10.1.1文件的属性File类的下列方法获取文件本身的一些信息。publicStringgetName()获取文件的名字。publicbooleancanRead()判断文件是否是可读的。publicbooleancanWrite()判断文件是否可被写入。publicbooleanexits()判断文件是否存在。publiclonglength()获取文件的长度(单位是字节)。publicStringgetAbsolutePath()获取文件的绝对路径。publicStringgetParent()获取文件的父目录。publicbooleanisFile()判断文件是否是一个普通文件,而不是目录。publicbooleanisDirectroy()判断文件是否是一个目录。publicbooleanisHidden()判断文件是否是隐藏文件。publiclonglastModified()获取文件最后修改的时间。例子1Example10_1.javaimportjava.io.*;publicclassExample10_1{publicstaticvoidmain(Stringargs[]){Filef=newFile("C:\\ch10","Example10_1.java");System.out.println(f.getName()+"是可读的吗:"+f.canRead());System.out.println(f.getName()+"的长度:"+f.length());System.out.println(f.getName()+"的绝对路径:"+f.getAbsolutePath());Filefile=newFile("new.txt");System.out.println("在当前目录下创建新文件"+file.getName());if(!file.exists()){try{file.createNewFile();System.out.println("创建成功");}catch(IOExceptionexp){}}}}§10.1.2目录创建目录publicbooleanmkdir()列出目录中的文件publicString[]list()用字符串形式返回目录下的全部文件。publicFile[]listFiles()用File对象形式返回目录下的全部文件。publicString[]list(FilenameFilterobj)用字符串形式返回目录下的指定类型的所有文件。publicFile[]listFiles(FilenameFilterobj)用File对象形式返回目录下的指定类型所有文件。上述两方法的参数FilenameFilter是一个接口,该接口有一个方法:publicbooleanaccept(Filedir,Stringname);例子2Example10_2.javaimportjava.io.*;publicclassExample10_2{publicstaticvoidmain(Stringargs[]){Filedir=newFile(".");FileAcceptfileAccept=newFileAccept();fileAccept.setExtendName("java");StringfileName[]=dir.list(fileAccept);for(Stringname:fileName){System.out.println(name);}}}FileAccept.javaimportjava.io.*;publicclassFileAcceptimplementsFilenameFilter{privateStringextendName;publicvoidsetExtendName(Strings){extendName="."+s;}publicbooleanaccept(Filedir,Stringname){//重写接口中的方法returnname.endsWith(extendName);}}§10.1.3文件的创建与删除当使用File类创建一个文件对象后,例如Filefile=newFile("c:\\myletter","letter.txt");如果c:\myletter目录中没有名字为letter.txt文件,文件对象file调用方法publicbooleancreateNewFile();文件对象调用方法publicbooleandelete()可以删除当前文件,§10.1.4运行可执行文件(简单介绍)用Runtime类声明一个对象(Runtime类在java.lang包)Runtimeec;然后使用该类的getRuntime()静态方法创建这个对象:ec=Runtime.getRuntime();ec可以调用exec(Stringcommand)方法打开本地机的可执行文件或执行一个操作。课后学生自主阅读例子3并调试。例子3Example10_3.javaimportjava.io.*;publicclassExample10_3{publicstaticvoidmain(Stringargs[]){try{Runtimece=Runtime.getRuntime();Filefile=newFile("c:/windows","Notepad.exe");ce.exec(file.getAbsolutePath());file=newFile("C:\\ProgramFiles\\InternetExplorer","IEXPLORE");ce.exec(file.getAbsolutePath());}catch(Exceptione){System.out.println(e);}}}§10.2字节流与字符流(重点)java.io包提供了大量的流类,Java把InputStream抽象类的子类创建的流对象称作字节输入流;OutputStream抽象类的子类创建的流对象称作字节输出流。Java把Reader抽象类的子类创建的流对象称作字符输入流;Writer抽象类的子类创建的流对象称作字符输出流。针对不同的源或目的地。java.io包为程序提供了相应的输入流或输出流。这些输入、输出流绝大部分都是InputStream、OutputStream、Reader或Writer的子类。§10.2.1InputStream类与OutputSream类InputStream类提供的read方法以字节为单位顺序地读取源中的数据,只要不关闭流,每次调用read方法就顺序地读取源中的其余内容,直到源的末尾或输入流被关闭。InputStream类有如下常用的方法。intread()intread(byteb[])intread(byteb[],intoff,intlen)voidclose()longskip(longnumBytes)OutputStream流以字节为单位顺序地写文件,只要不关闭流,每次调用write方法就顺序地向目的地写入内容,直到流被关闭。OutputStream类有如下的常用的方法。voidwrite(intn)voidwrite(byteb[])voidwrite(byteb[],intoff,intlen)voidclose()§10.2.2Reader类与Writer类1.Reader类提供的read方法以字符为单位顺序地读取源中的数据。intread():intread(charb[]):intread(charb[],intoff,intlen):voidclose():longskip(longnumBytes):2.Writer流以字符为单位顺序地写文件,每次调用write方法就顺序地向目的地写入内容。Writer类有如下常用的方法。voidwrite(intn):向输出流写入一个字符。voidwrite(byteb[]):向输出流写入一个字符数组。voidwrite(byteb[],intoff,intlength):从给定字符数组中起始于偏移量off处取len个字符写到输出流。voidclose():关闭输出流。§10.2.3关闭流流都提供了关闭方法close(),尽管程序结束时会自动关闭所有打开的流,但是当程序使用完流后,显式地关闭任何打开的流仍是一个良好的习惯。通过调用close()方法,可以保证操作系统把流缓冲区的内容写到它的目的地,即关闭输出流可以把该流所用的缓冲区的内容冲洗掉(通常冲洗到磁盘文件上)。§10.3文件字节流(重点)由于应用程序经常需要和文件打交道,所以InputStream专门提供了读写文件的子类:FileInputStream和FileOutputSream类。如果程序对文件的操作比较简单,比如只是顺序地读写文件,那么就可以使用FileInputStream和FileOutputSream类创建的流对文件进行读写操作。§10.3.1文件字节输入流FileInputStream类创建的对象被称作文件字节输入流。◆构造方法:FileInputStream(Stringname);FileInputStream(Filefile);读取一个名为hello.txt的文件,建立一个文件输入流对象,如下所示:try{FileInputStreamin=newFileInputStream("hello.txt");}catch(IOExceptione){System.out.println("Filereaderror:"+e);}例子4Example10_4.javaimportjava.io.*;publicclassExample10_4{publicstaticvoidmain(Stringargs[]){intn=-1;byte[]a=newbyte[100];try{Filef=newFile("Example10_4.java");FileInputStreamin=newFileInputStream(f);while((n=in.read(a,0,100))!=-1){Strings=newString(a,0,n);System.out.print(s);}in.close();}catch(IOExceptione){System.out.println("FilereadError"+e);}}}§10.3.2文件字节输出流创建文件字节输出流FileOutputStream类创建的对象被称作文件字节输出流。◆构造方法:FileOutputStream(Stringname)FileOutputStream(Filefile)例子5Example10_5.javaimportjava.io.*;publicclassExample10_5{publicstaticvoidmain(Stringargs[]){byte[]a="国庆60周年".getBytes();byte[]b="十一快乐".getBytes();try{FileOutputStreamout=newFileOutputStream("happy.txt");out.write(a);out.write(b,0,b.length);out.close();}catch(IOExceptione){System.out.println("Error"+e);}}}§10.4文件字符流(重点)1.FileReader和FileWriter用来创建文件字符输入、输出流,构造方法:FileReader(Stringfilename);FileReader(Filefilename);FileWriter(Stringfilename);FileWriter(Filefilename);2.字符输入流和输出流的read和write方法以字符为基本单位处理数据。例子6Example10_6.javaimportjava.io.*;publicclassExample10_6{publicstaticvoidmain(Stringargs[]){Stringcontent="broadsword勇者无敌";try{Filef=newFile("hello.txt");char[]a=content.toCharArray();FileWriterout=newFileWriter(f);out.write(a,0,a.length);out.close();FileReaderin=newFileReader(f);StringBuffers=newStringBuffer();chartom[]=newchar[10];intn=-1;while((n=in.read(tom,0,10))!=-1){Stringtemp=newString(tom,0,n);s.append(temp);}in.close();System.out.println(newString(s));}catch(IOExceptione){System.out.println(e.toString());}}}§10.5缓冲流(简单介绍)1BufferedReader和BufferedWriter类创建的对象称作缓冲输入、输出流。二者的源和目的地必须是字符输入流和字符输出流。构造方法:BufferedReader(Readerin);BufferedWriter(Writerout);2BufferedReader和BufferedWriter类读写文件的方法:readLine()读取文本行write(Strings,intoff,intlen)把字符串s写到文件中newLine();向文件写入一个回行符例子7Example10_7.javaimportjava.io.*;publicclassExample10_7{publicstaticvoidmain(Stringargs[]){Filefile=newFile("Student.txt");Stringcontent[]={"商品列表:","电视机,2567元/台","洗衣机,3562.元/台","冰箱,6573元/台"};try{FileWriteroutOne=newFileWriter

温馨提示

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

评论

0/150

提交评论