




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
9输入输出及文件操作,本章内容,1输入输出概述流的层次/流的分类2字节流类基本的输入输出示例FileInputStream和FileOutputstreamBufferedInputStream和BufferedOutputStreamDataInputStream和DataOutputStream3字符流类Reader和WriterFileReader和FileWriterBufferedReader和BufferedWriter4文件操作,9.1输入输出概述,流模型建立在从某个数据源到数据池的数据传输基础上(fromsourcetosink),也就是说把不同的输入/输出源(键盘,文件,网络连接)等抽象表示为“流”。流编程相关API封装在java.io包中。,9.1输入输出概述,流的层次,9.1输入输出概述(续),流的分类按数据的流向分为输入流和输出流。流是单向的,流提供数据是输入流,向流中写数据是输出流。按流的数据单位大小分字符流和字节流。按功能不同可以分为节点流和处理流。,9.2字节流类(InputStream),字节输入流InputStream是抽象类,定义了字节输入流的框架。它的最重要的三个方法(输入流提供数据输入):intread()intread(bytebuffer)intread(bytebuffer,intoffset,intlength)大部分子类的命名是XxxInputStream,例如FileInputStream,DataInputStream,9.2字节流类(OutputStream),字节输出流OutputStream是抽象类,定义了字节输出流的功能.它的最重要的三个方法(提供数据输出):voidwrite(intc)voidwrite(bytebuffer)voidwrite(bytebuffer,intoffset,intlength)大部分子类的命名是XxxOutputStream,例如FileOutputStream,DataOutputStream,示例:,TestInAndOut.javaTestInputStreamAndOutputStream.java文件复制(CopyFile1.java)。文件复制(CopyFile2.java),9.3字符流类(Readerintread(charcbuf);intread(charcbuf,intoffset,intlength);voidwrite(intc);voidwrite(charcbuf);voidwrite(charcbuf,intoffset,intlength);voidwrite(Strings);voidwrite(Strings,intoffset,intlength);,示例:,重写Copy1.java(CopyFileByChar)重写Copy2.java读具有一定逻辑结构数据文件。数组复制(ArrayCopy.java)。,补充:节点流和处理流,节点流(nodestream):可以从/向一个特定的地方(节点)读写数据,例如磁盘或者一块内存。处理流(processingstream):是对一个已存在的流的连接和封装,通过所封装的流的功能调用实现数据读/写功能二者的区分大致可以从构造器参数中或类名称中看出来。,I/OStreamChaining,标准输入和标准输出,Java提供System类的3个静态属性对应系统的输入和输出.这3个属性分别对应Inputstream,PrintStream的对象.System.out提供向“标准输出”写出数据的功能System.out为PrintStream类型.System.in提供从“标准输入”读入数据的功能System.in为InputStream类型.System.err提供向“标准错误输出”写出数据的功能System.err为PrintStream类型.,System.out/System.err的println/print方法,println方法可将方法参数输出并换行print方法将方法参数输出但不换行print和println方法针对多数数据类型进行了重写(boolean,char,int,long,float,double以及char,Object和String).print(Object)和println(Object)方法中调用了参数的toString()方法,再将生成的字符串输出,System.in,为了使用方便,经常将System.in用各种处理流进行封装处理,如:BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in);br.readLine();利用BufferedReader()类的方法读取终端上输入的字符数据,将其转换成int类型数据并进行计算示例:TestBufferedReader.java,9.4File类,File类对象提供如下功能:表示一个文件或目录的路径名称。可以获得文件的属性信息。判断是否为目录或文件,是否存在等。文件系统的遍历。File类对象不提供文件内容的操作。应该使用相对路径访问文件。见例子(TestFile.java),9.4File类(File类的方法),java.io包中定义与数据输入、输出功能有关的类,包括提供文件操作功能的File类创建File类对象Filef;f=newFile(Test.java);f=newFile(E:ex,Test.java);在Java中,将目录也当作文件处理。File类中提供了实现目录管理功能的方法。Filepath=newFile(E:ex);Filef=newFile(path,Test.java);,9.4File类(File类的方法),关于文件/目录名操作StringgetName()StringgetPath()StringgetAbsolutePath()StringgetParent()booleanrenameTo(FilenewName)File测试操作booleanexists()booleancanWrite()booleancanRead()booleanisFile()booleanisDirectory()booleanisAbsolute();,获取常规文件信息操作longlastModified()longlength()booleandelete()目录操作booleanmkdir()Stringlist()示例:列出所有文件ListFile2.java,再说文件输入输出流,文件输入可使用FileReader类以字符为单位从文件中读入数据可使用BufferedReader类的readLine方法以行为单位读入一行字符文件输出可使用FileWriter类以字符为单位向文件中写出数据使用PrintWriter类的print和println方法以行为单位写出数据例FileMyFilenewFile(MyTextFile);DataInputStreamdinnewDataInputStream(newFileInputStream(MyFile);DataOutputStreamdournewDataOutputStream(newFileOutputStream(MyFile);,RandomAccessFile类,RandomAccessFile类提供以随机方式读写文件数据,也定义在java.io包中。该类定义:publiccla
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 兼职讲课协议书范本
- 我的梦幻动物乐园想象作文(15篇)
- 读红楼梦有感古代文学的魅力(15篇)
- 2024-2025学年云南省文山壮族苗族自治州麻栗坡县高一上学期10月期中测试数学试题(解析版)
- 医疗健康管理系统研发与应用协议
- 关于友情的故事童话作文12篇范文
- 合同离婚小孩跟女方的合同
- 电商仓储及配送服务合作协议
- 快乐暑假生活记事作文5篇范文
- 医疗卫生领域工作证明(6篇)
- 药剂师知识科普大赛单选题100道及答案解析
- 反向开票政策解读课件
- 荆州市国土空间总体规划(2021-2035年)
- 2024制冷系统管路结构设计指导书
- 国际档案日介绍主题班会
- 足外伤个案护理
- 单位食堂配送菜合同协议书
- 慢性非传染性疾病综合防控示范区申报考评细则培训课件
- 浙江省城镇生活垃圾分类标准
- 语言学纲要期末复习考点(完整)
- 2024年广西中考道德与法治试卷真题(含答案解析)
评论
0/150
提交评论