JAVA语言课时授课计划10.doc_第1页
JAVA语言课时授课计划10.doc_第2页
JAVA语言课时授课计划10.doc_第3页
JAVA语言课时授课计划10.doc_第4页
JAVA语言课时授课计划10.doc_第5页
已阅读5页,还剩1页未读, 继续免费阅读

下载本文档

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

文档简介

课 时 授 课 计 划 编号:Win001班级 班班班日期第10教学周课题输入与输出目的要求要求学生掌握输入与输出字符流,学会处理键盘输入、文件读取、文件输出等。重点字符流与字节流的区别,及用法难点文件的读取与写入教法讲 授动手操作教 具教材及课外资料无课外资料课时分配组织教学0复习旧课上机练习讲授新课2小结巩固1布置作业上机练习其他1教学内容及进程一、 字节流处理类1. InputStream类2. OutputStream类;二、 字符流处理类1. Reader类2. Writer类三、 文件类(File类)课外作业1.写程序,将一个文件中的内容读出,写入到另一个文件中。课后作业第10章 输入与输出10.1 输入输出类库Java的输入输出是以流(stream)的方式来处理,流是在计算机的输入、输出操作中流动的数据序列。流式输入、输出的特点是数据的获取和发送均沿数据序列顺序进行。数据序列中既可以是未经加工的原始二进制数据,也可以是按一定编码处理后符合某种格式规定的特定数据,如字符数据,所以Java中的流有位流(字节流)和字符流之分。输入流:从键盘、磁盘文件流向程序的数据;输出流:从程序流向显示器、打印机和磁盘文件的数据。10.1.2 字节流处理类字节流处理类提供了直接读取和写入二进制数据,但没有经过编码处理。因此,能正常读写英文或数字,但读写中文时就会出现乱码。字符流处理类对读取和写入的字节流进行了编码,因此读写时不会出现乱码。10.1.2 InputSteam类InputStreamFileInputStreamFilterInputStreamDataInputStreamBufferedInputStream输入或读取字节流的类说明如下:InputStream类:是抽象类,其子类可完成最基本的从输入流读取数据的功能;FileInputStream类:以字节流方式,读取本地文件;FilterInputStream类:是抽象类,有2个子类;DataInputStream类:从字节流中读取数据时,具备格式转换功能;(如能一次读一个双精度数)BufferedInputStream类:具缓冲功能的输入字节流。InputStream类及其子类的主要方法有:(1)public int read()方法:以二进制的方式读入,但不能分解、重组和理解数据,使之变换、恢复到原来的有意义状态。(2)public long skip(long n)方法:将指针从当前位置向后跳动n个字节;(3)public void mark()方法:在指针位置做一个标记;(4)public void reset()方法:将指针移动到标记位置;(5)public void close()方法:当输入流使用完毕后,可以调用close()方法将其关闭。下例为以字节流读取“D:samplestestInput.txt”文件的内容并打印出来,数字和英文能正常显示,但中文会是乱码。FileInputStream fin=new FileInputStream(D:samplestestInput.txt);System.out.println(文件中信息为:);int ch=fin.read();while(ch!=-1)System.out.print(char)ch);ch=fin.read();fin.close();10.1.2 OutputStream类OutputStreamFileOutputStreamFilterOutputStreamDataOutputStreamBufferedOutputStreamPrintStream输出或写入字节流的类说明如下:FileOutputStream类:用来对本地文件进行写入操作;FilterOutputStream类:是抽象类,有2个子类;DataOutputStream类:向流中写入数据时,可以实现对二进制字节数据的编码功能;(如能一次写入一个双精度数)BufferedOutputStream类:具缓冲功能的输出字节流。PrintStream类:将任意类型数据输出为字符串形式。OutputStream类及其子类的主要方法有:(1)public int write(int b)方法:以二进制的方式向输出流写入数据,只能逐字节地输出数据。(2)public long flush()方法:强制缓冲区,并将缓冲区中的现有数据写入外设;(3)public void close()方法:关闭输出流,断开Java程序与外设数据源的连接,释放资源。下例为输入字符串,以“#”号结束,将字符串以字节流的方式写入到“D:samplestestOutput.txt”文件中。FileOutputStream fout=new FileOutputStream(“D:samplestestOutput.txt”);System.out.print(输入任一字符串,以#结束);ch=(char)System.in.read(); /读从键盘输入的一个字节while(ch!=#)fout.write(ch);/如果加fout.write(49),写入到文件中的汉字就会是乱码ch=(char)System.in.read();/读下一字节fout.close();10.1.2 Reader类ReaderBufferedReaderInputStreamReaderFileReader读入字符流的类说明如下:Reader类:以字符方式从流中读入数据;BufferedReader类:具备缓冲功能的字符输入类;InputStreamReader类:是字节输入流和字符输入流之间的桥梁,它从字节流中读入数据,然后根据字符编码规则将它们转换成字符。FileReader类:用于从文件中读入字符流。Reader类及其子类的主要方法有:(1)public int read()方法:逐字符地读入数据。(2)public long skip(long n)方法:将指针从当前位置向后跳动n个字节;(3)public void mark()方法:在指针位置做一个标记;(4)public void reset()方法:将指针移动到标记位置;(5)public void close()方法:当输入流使用完毕后,可以调用close()方法将其关闭。(6)BufferedReader类的public String readLine()方法:能每次读入一段,直到返回null表示读完。下例为以FileReader对象来读取文件“D:samplestestFileReader.txt”中内容,因为是以字符流形式,所以不会出现乱码。FileReader fin=new FileReader(“D:samplestestFileReader.txt”);System.out.println(文件中信息为:);int ch=fin.read();while(ch!=-1)System.out.print(char)ch);ch=fin.read();fin.close();下例为以FileReader对象为参数建立BufferedReader对象,来读取文件“D:samplestestFileReader.txt”中内容,调用后者的readLine()方法一次读入一段。FileReader fin=new FileReader(“D:samplestestFileReader.txt”);BufferedReader br=new BufferedReader(fin);System.out.println(文件中信息为:);String str=br.readLine();while(str!=null)System.out.println(str);str=br.readLine();fin.close();10.1.2 Writer类WriterPrintWriterOutputStreamWriterFileWriterBufferedWriter写入字符流的类说明如下:Writer类:以字符方式向输出流中写入数据;PrinterWriter类:提供流的格式化输出功能;BufferedWriter类:对字符输出流提供了缓冲功能。OutputStreamWriter类:是字符输出流和字节输出流之间的桥梁,它从字符流读取数据,然后根据字符编码规则将它们转换成字节。FileWriter类:用来向文件中写入字符流。Reader类及其子类的主要方法有:(1)public void write(int c)方法:将参数c对应的字符写入输出流。(2)public void writer(String str)方法:将字符串参数str写入输出流。(3)public long flush()方法:强制缓冲区,并将缓冲区中的现有数据写入外设;(4)public void close()方法:关闭输出流,断开Java程序与外设数据源的连接,释放资源。下例以文件“D:samplestestFileWriter.txt”新建File对象file1,再以file1作参数新建FileWriter对象fw,最后以fw作参数新建BufferedWriter对象,实现向文件中写入文字。File file1=new File(“D:samplestestFileWriter.txt”);FileWriter fw=new FileWriter(file1);BufferedWriter bw=new BufferedWriter(fw);bw.write(中人办民);bw.newLine();/换行bw.write(中人abc办民);bw.close();fw.close();10.1.2 File类File类位于java.io包中,它不是流类,不负责数据的输入输出,而专门用来管理磁盘文件和目录。构造方法:File(String path):以参数path指定所建对象对应的磁盘文件名或目录路径名。例:File f1=new File(“D:testfile1.txt”);File(String path,String name):path表示文件或目录的路径,name表示文件或目录名。例File f2=new File(“D:test”, “file2.txt”);File(File dir,String name):path表示目录对象,naem表示文件或目录名。例File fileDir=new File(“D:test”);File f3=new File(fileDir,“file3.txt”);File类的方法:(1)public String getName():返回文件或目录名;(2)public String getPath():返回文件或目录路径;(3)public boolean exists():文件或目录是否存在;(4)public long length():返回文件的字节数;(5)public boolean canRead():是否是可读文件。(6)public boolean ca

温馨提示

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

评论

0/150

提交评论