java面向对象程序设计第08章_java-io流

java面向对象程序设计第08章_java-io流

ID:9881466

大小:444.51 KB

页数:26页

时间:2018-05-11

java面向对象程序设计第08章_java-io流_第1页
java面向对象程序设计第08章_java-io流_第2页
java面向对象程序设计第08章_java-io流_第3页
java面向对象程序设计第08章_java-io流_第4页
java面向对象程序设计第08章_java-io流_第5页
资源描述:

《java面向对象程序设计第08章_java-io流》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第8章输入输出流主讲:赵建邦办公室:信息学院202E-mail:zhaojianbang@nwsuaf.edu.cn2本章主要内容8.1什么是javaIO8.2File类8.3字节流和字符流8.4随机流8.5数组流8.6数据流8.7对象流8.8序列化与对象克隆难点:序列化与对象克隆8.1什么是javaIOIO(Input/Output)是计算机输出/输出的接口。Java的核心库java.io提供了全面的IO接口,包括:文件读写,标准设备输出等等。Java中的IO是以流为基础进行输入输出的,所有数

2、据被串行化写入输出流,或者从输入流读入8.1.1输入输出流示意图输入流示意图输出流示意图源目的地数据源和目的地可以来自于文件、内存和网络等8.1.2java.io的分类总体来说,IO有四个顶层类:字节流处理单元为1个字节,操作字节和字节数组字符流处理的单元为2个字节的Unicode字符,分别操作字符、字符数组或字符串字节流字符流输入输出InputStreamOutputStreamReaderWriter注意,这四个类为抽象类,不能直接用来创建对象8.2File类1、创建文件File(Strin

3、gfilename);File(stringdirectoryPath,Stringfilename);File(Filefp,Stringfilename);f.createNewFile();2、删除文件f.delete();例FileTest.java注:delete方法删除由File对象的路径所表示的磁盘文件。它只能删除普通文件,而不能删除目录,即使是空目录也不行。8.2File类3、文件的属性关于File类的其它方法,是不需要死记硬背的,在需要时可以查看JDK文档,就会明白怎么使用。初

4、步接触了File类,我们发现File类不能访问文件的内容,即不能够从文件中读取数据或往文件里写数据,它只能对文件本身的属性进行操作:创建、删除、重命名、判断读写权限、设置和查询最近修改时间等4、运行可执行文件例FileRuntimeTest.java8.2File类5、创建目录publicbooleanmkdir()方法创建目录6、罗列目录中的文件publicString[]list();publicFile[]listFiles();添加文件名过滤器(FilenameFilter)参数publ

5、icString[]list(FilenameFilterobj);publicFile[]listFiles(FilenameFilterobj);需要实现FilenameFilter接口的accept方法例12.28.3字节流和字符流8.3字节流和字符流8.3.1文件字节流创建FileInputStream对象以字节为单位读取文件(注意返回值不一样)intread()//返回字节值intread(byteb[])//返回读取的字节个数intread(byteb[],intoff,intlen

6、)FileInputStreaminOne=newFileInputStream("hello.test");Filef=newFile("hello.test");FileInputStreaminTwo=newFileInputStream(f);8.3.1文件字节流FileOutputStream以字节为单位写文件publicvoidwrite(byteb[])publicvoidwrite(byteb[],intoff,intlen)调用close()方法关闭流由于汉字在内存中占用两个字

7、节,如果使用字节流,读取不当会出现乱码现象例FileStream.java8.3.2文件字符流文件字符流的源和目的地是文件FileReader(Stringfilename)FileReader(Filefilename)FileWriter(Stringfilename)FileWriter(Filefilename)read()和write()方法以字符为基本单位处理数据流write()方法使用缓冲区例FileReaderTest.java8.3.3缓冲流当程序处理的文件按行组织,并且行不是

8、定长时,可采用缓冲式输入输出方式,简化操作缓冲式输入:对于程序的输入请求,系统一次性输入足够多的内容放在内存缓冲区中,供程序以后的输入请求使用,待缓冲区的内容用完,再一次性输入足够多的数据缓冲式输出:对于程序的输出请求,系统先将内容暂存于缓冲区,待缓冲区满或输出结束,才将暂存与缓冲区中的内容输出到流的目的地8.3.3缓冲流/**创建一个FileReader对象.*/FileReaderfr=newFileReader("mytest.txt");/**创建一个BufferedReader对象.*

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。