Java程序设计教学做一体化教程第7章输入、输出流.ppt
《Java程序设计教学做一体化教程第7章输入、输出流.ppt》由会员分享,可在线阅读,更多相关《Java程序设计教学做一体化教程第7章输入、输出流.ppt(51页珍藏版)》请在三一办公上搜索。
1、第 1 页1 页,注意:开始用功了!,第 1 页2 页,配合例子源代码一起使用,Power point 制作:耿祥义 张跃平,输入、输出流,Java程序设计教学做一体化教程 第7章,第 1 页3 页,主要内容,第 1 页4 页,7.1 File类 7.1.1核心知识 _1,1构造方法 File类在java.io包中,程序使用File的对象来获取文件本身的一些信息,例如文件所在的目录、文件的长度、文件读写权限等。File类的构造方法有三个:File(String filename);File(String directoryPath,String filename);File(File dir,
2、String filename);其中,filename是文件名字,directoryPath是文件的路径,dir为一个目录。使用File(String filename)创建文件时,该文件被认为与当前应用程序在同一目录中。,第 1 页5 页,7.1.1 核心知识 _2,2File类的常用方法 public String getName()获取文件的名字。public boolean canRead()判断文件是否是可读的。public boolean canWrite()判断文件是否可被写入。public boolean exits()判断文件是否存在。public long length(
3、)获取文件的长度(单位是字节)。public String getAbsolutePath()获取文件的绝对路径。public String getParent()获取文件的父目录。public boolean isFile()判断文件是否是一个普通文件,而不是目录。public boolean isDirectroy()判断文件是否是一个目录。public boolean isHidden()判断文件是否是隐藏文件。public long lastModified()获取文件最后修改的时间(时间是从1970年午夜至文件最后修改时刻的毫秒数)。更多方法见page 140.,第 1 页6 页,7
4、.1.2 能力目标,掌握File类的常用方法。,第 1 页7 页,7.1.3 任务驱动,将下列Application7_1.java中的【代码】替换为程序代码。程序运行效果如图7.1。,第 1 页8 页,任务小结,(1)使用File类创建一个文件对象后,例如File file=new File(c:myletter,letter.txt);如果c:myletter目录中没有名字为letter.txt文件,文件对象file调用方法:public boolean createNewFile();可以在c:myletter目录中建立一个名字为letter.txt的文件。(2)文件对象调用方法publ
5、ic boolean delete()可以删除当前文件,例如:file.delete();,第 1 页9 页,7.1.4 实践环节,上机调试下列程序,并注意Runtime对象是怎样运行windows平台上的记事本程序和浏览器程序的。Appilcation7_2.java,第 1 页10 页,7.2 文件字节输入流 7.2.1 核心知识_1,FileInputStream类的对象称为文件字节输入流,文件字节输入流以字节为单位读取文件中的内容。1创建指向文件的字节输入流 使用FileInputStream类的下列构造方法创建指向文件的输入流。FileInputStream(String name)
6、;FileInputStream(File file);程序必须在try-catch语句中的try块部分创建输入流、在catch(捕获)块部分检测并处理这个异常。例如,为了读取一个名为hello.txt的文件,建立一个文件字节输入流in:,或File f=new File(hello.txt);try FileInputStream in=new FileInputStream(f);catch(IOException e)System.out.println(File read error:+e);,try FileInputStream in=new FileInputStream(hel
7、lo.txt);catch(IOException e)System.out.println(File read error:+e);,第 1 页11 页,7.2.1 核心知识 _2,2以字节为单位读文件 文件字节流可以调用从父类(InputStream)继承的read方法顺序地、以字节为单位读取文件,只要不关闭流,每次调用read方法就顺序地读取文件中的其余内容,直到文件的末尾或文件字节输入流被关闭。int read()输入流调用该方法从源中读取单个字节的数据,该方法返回字节值(0255之间的一个整数),如果未读出字节就返回-1。int read(byte b)输入流调用该方法从源中试图读取
8、b.length个字节到字节数组b中,返回实际读取的字节数目。如果到达文件的末尾,则返回-1。int read(byte b,int off,int len)输入流调用该方法从源中试图读取len个字节到字节数组b中,并返回实际读取的字节数目。如果到达文件的末尾,则返回-1,参数off指定从字节数组的某个位置开始存放读取的数据。例如,如果文件字节输入流in指向的文件的内容是apple is very good,那么in首次调用read()方法:int m=in.read();将读取文件中的第一个字节,即读取到字母a,并返回字母a的字节值(97),即m的值是97。,第 1 页12 页,7.2.1
9、核心知识 _3,3关闭流 输入流都提供了关闭方法close(),尽管程序结束时会自动关闭所有打开的流,但是当程序使用完流后,显式地关闭任何打开的流仍是一个良好的习惯。如果没有关闭那些被打开的流,那么就可能不允许另一个程序操作这些流所用的资源。,第 1 页13 页,7.2.2 能力目标,使用文件字节输入流读取文件。,第 1 页14 页,7.2.3 任务驱动,将下列Application7_3.java中的【代码】替换为程序代码。程序运行效果如图7.2。,第 1 页15 页,任务 小结,程序在运行期间,可能需要从外部的存储媒介或其他程序中读入所需要的数据,这就需要使用输入流。输入流的指向称为它的源
10、,程序通过输入流读取源中的数据。比如,程序需要读取文件,那么就可以使用FileInputStream建立一个和文件相连接的文件字节输入流,如图7.3所示。,使用输入流通常包括4个基本步骤:(1)设定输入流的源,比如磁盘上的文件。(2)创建指向源的输入流(3)让输入流读取源中的数据(4)关闭输入流。,第 1 页16 页,7.3 文件字节输出流 7.3.1 核心知识_1,FileOutputStream类的对象称为文件字节输出流,文件字节输出流以字节为单位向文件写入数据,即以字节为单位写文件。1创建指向文件的文件字节输出流 可以使用FileOutputStream类的下列具有刷新功能的构造方法创建
11、指向文件的输出流。FileOutputStream(String name);FileOutputStream(File file);需要特别注意的是,如果输出流指向的文件不存在,Java就会创建该文件,如果执向的文件是已存在的文件,输出流将刷新该文件。可以使用FileOutputStream类的下列能选择是否具有刷新功能的构造方法创建指向文件的输出流。FileOutputStream(String name,boolean append);FileOutputStream(File file,boolean append);,第 1 页17 页,7.3.1 核心知识 _2,2以字节为单位写文
12、件 文件字节流可以调用从父类继承的write方法顺序地写文件。FileOutStream流顺序地向文件写入内容,即只要不关闭流,每次调用write方法就顺序地向文件写入内容,直到流被关闭。void write(int n)输出流调用该方法向文件写入单个字节。void write(byte b)输出流调用该方法向文件写入一个字节数组。void write(byte b,int off,int len)给定字节数组中起始于偏移量off处取len个字节写到文件。void close()关闭输出流。,第 1 页18 页,7.3.2 能力目标,能使用文件字节输出流写文件。,第 1 页19 页,7.3.3
13、 任务驱动,将下列Application7_4.java中的【代码】替换为程序代码。程序运行效果如图7.4。,第 1 页20 页,任务 小结,程序在处理数据后,要将处理的结果写入到永久的存储媒介中或传送给其他的应用程序,就需要使用输出流。输出流的指向称为它的目的地,程序通过输出流把数据传送到目的地。比如,程序需要将数据写入到文件,那么就可以使用FileOutputStream建立一个和文件相连接的文件字节输出流,如图7.5所示。,使用输出流通常包括4个基本步骤:(1)给出输出流的目的地,比磁盘上的文件(2)创建指向目的地的输出流(3)让输出流把数据写入到目的地(4)关闭输出流。,第 1 页21
14、 页,7.3.4 实践环节,上机调试程序,观察程序的运行结果。Application7_5.java,第 1 页22 页,7.4 文件字符输入、输出流 7.4.1 核心知识,文件字节输入、输出流以字节为单位处理数据。因此,字节流不能很好地操作Unicode字符,比如,一个汉字在文件中占用2个字节,如果使用字节流,读取不当会出现“乱码”现象。与FileInputStream、FileOutputStream字节流相对应的是FileReader、FileWriter字符流,FileReader和FileWriter分别是Reader和Writer的子类,其构造方法分别是:FileReader(St
15、ring filename);FileReader(File filename);FileWriter(String filename);FileWriter(File filename);FileWriter(String filename,boolean append);FileWriter(File filename,boolean append);字符输入流和输出流的read和write方法使用字符数组读写数据,即以字符为基本单位处理数据。,第 1 页23 页,7.4.2 能力目标,使用文件字符输入、输出流读写文件。,第 1 页24 页,7.4.3 任务驱动,将Application7
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 程序设计 教学 一体化 教程 输入 输出
链接地址:https://www.31ppt.com/p-6509994.html