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

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

ID:33446444

大小:444.51 KB

页数:26页

时间:2018-05-24

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是以流为基础进行输入输出的,所有数据被串行化写入输出流,或者从输入流读入8.1.1输入输出流示意图输入

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

3、ngfilename);f.createNewFile();2、删除文件f.delete();例FileTest.java注:delete方法删除由File对象的路径所表示的磁盘文件。它只能删除普通文件,而不能删除目录,即使是空目录也不行。8.2File类3、文件的属性关于File类的其它方法,是不需要死记硬背的,在需要时可以查看JDK文档,就会明白怎么使用。初步接触了File类,我们发现File类不能访问文件的内容,即不能够从文件中读取数据或往文件里写数据,它只能对文件本身的属性进行操作:创建、删除、重命名、判断读写权限、设置和查询最近修改时间等4、运行可执行

4、文件例FileRuntimeTest.java8.2File类5、创建目录publicbooleanmkdir()方法创建目录6、罗列目录中的文件publicString[]list();publicFile[]listFiles();添加文件名过滤器(FilenameFilter)参数publicString[]list(FilenameFilterobj);publicFile[]listFiles(FilenameFilterobj);需要实现FilenameFilter接口的accept方法例12.28.3字节流和字符流8.3字节流和字符流8.3.1文件

5、字节流创建FileInputStream对象以字节为单位读取文件(注意返回值不一样)intread()//返回字节值intread(byteb[])//返回读取的字节个数intread(byteb[],intoff,intlen)FileInputStreaminOne=newFileInputStream("hello.test");Filef=newFile("hello.test");FileInputStreaminTwo=newFileInputStream(f);8.3.1文件字节流FileOutputStream以字节为单位写文件publicvoi

6、dwrite(byteb[])publicvoidwrite(byteb[],intoff,intlen)调用close()方法关闭流由于汉字在内存中占用两个字节,如果使用字节流,读取不当会出现乱码现象例FileStream.java8.3.2文件字符流文件字符流的源和目的地是文件FileReader(Stringfilename)FileReader(Filefilename)FileWriter(Stringfilename)FileWriter(Filefilename)read()和write()方法以字符为基本单位处理数据流write()方法使用缓冲区

7、例FileReaderTest.java8.3.3缓冲流当程序处理的文件按行组织,并且行不是定长时,可采用缓冲式输入输出方式,简化操作缓冲式输入:对于程序的输入请求,系统一次性输入足够多的内容放在内存缓冲区中,供程序以后的输入请求使用,待缓冲区的内容用完,再一次性输入足够多的数据缓冲式输出:对于程序的输出请求,系统先将内容暂存于缓冲区,待缓冲区满或输出结束,才将暂存与缓冲区中的内容输出到流的目的地8.3.3缓冲流/**创建一个FileReader对象.*/FileReaderfr=newFileReader("mytest.txt");/**创建一个Buffer

8、edReader对象.*

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

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

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