您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 畜牧/养殖 > 第九章输入输出流和文件操作-仲恺农业工程学院
Java2程序设计实用教程第2版叶核亚《Java2程序设计实用教程》(第2版)第1章Java概述第2章Java语言基础第3章面向对象的核心特性第4章接口、内部类和包第5章异常处理第6章图形用户界面第7章多线程第8章Applet应用程序第9章输入/输出流和文件操作第10章网络通信第11章数据库应用第12章JSP第13章综合应用设计《Java2程序设计实用教程(第2版)》第9章输入/输出流和文件操作•9.1文件和流的概念•9.2字节输入/输出流类•9.3字符输入/输出流类•9.4文件操作类•9.5管道流及其应用《Java2程序设计实用教程(第2版)》9.1文件和流的概念1.9.1.1操作系统中的文件和目录概念2.9.1.2程序设计语言中的文件类型3.9.1.3流的概念4.9.1.4Java的输入/输出流与文件操作概述《Java2程序设计实用教程(第2版)》9.1.1操作系统中的文件和目录概念1.文件与文件系统2.录结构与文件检索3.文件的逻辑结构①流式文件②记录式文件4.文件的存取方法①顺序存取②随机存取5.文件的使用①操作接口②程序接口《Java2程序设计实用教程(第2版)》9.1.2程序设计语言中的文件类型1.文件类型概念2.文件与数组的区别①数组是由固定多个元素组成,而文件的长度是不确定的、任意的。②数组元素总是存放在内存,而文件则往往与外部介质相联系。③以“数组变量[下标]”的形式可以访问数组中的任意一个元素,而文件不能通过下标形式访问,需要通过文件对象调用相应方法来访问。《Java2程序设计实用教程(第2版)》9.1.3流的概念1.流的定义和作用①流的定义、方向性和读/写操作②流采用缓冲区技术③流的作用2.流的存在程序输入流输出流键盘显示器打印机文件文件读取写入《Java2程序设计实用教程(第2版)》9.1.4Java的输入/输出流与文件操作概述1.流类①InputStream抽象的字节输入流类②OuputStream抽象的字节输出流类③Reader抽象的字符输入流类④Writer抽象的字符输出流类2.文件操作类①File文件类②RandomAccessFile随机存取文件类《Java2程序设计实用教程(第2版)》9.2字节输入/输出流类1.9.2.1字节输入流类InputStream2.9.2.2字节输出流OutputStream类3.9.2.3Java的标准输入/输出4.9.2.4文件字节输入/输出流类5.9.2.5数据字节输入/输出流类6.9.2.6对象输入/输出流类《Java2程序设计实用教程(第2版)》9.2.1字节输入流类InputStream1.InputStream类publicabstractclassInputStreamextendsObjectimplementsCloseable{publicabstractintread()throwsIOException;//返回读取的一个字节,抽象方法publicintread(byte[]b)throwsIOException//从输入流中读取若干字节到指定缓冲区,返回实际读取的字节数publicvoidclose()throwsIOException{}//关闭输入流,空方法}《Java2程序设计实用教程(第2版)》2.InputStream类的子类InputStream字节输入流FileInputStream文件输入流DataInputStream数据输入流BufferedInputStream缓冲输入流PushbackInputStream回压输入流ObjectInputStream对象输入流FilterInputStream过滤器输入流StringBufferInputStream字符串缓冲输入流PipedInputStream管道输入流ByteArrayInputStream字节数组输入流SequenceInputStream顺序输入流《Java2程序设计实用教程(第2版)》9.2.2字节输出流OutputStream类1.OuputStream类publicabstractclassOutputStreamextendsObjectimplementsCloseable,Flushable{publicabstractvoidwrite(intb)throwsIOException;//写入一个字节,抽象方法publicvoidwrite(byte[]b)throwsIOException//将缓冲区中的若干字节写入输出流publicvoidflush()throwsIOException{}//立即传输publicvoidclose()throwsIOException{}//关闭输出流,空方法}《Java2程序设计实用教程(第2版)》2.OutputStream类的子类OutputStream字节输出流DataOutputStream数据输出流BufferedOutputStream缓冲输出流PrintStream格式化输出流ObjectOutputStream对象输出流PipedOutputStream管道输出流FilterOutputStream过滤器输出流FileOutputStream文件输出流OutputStream字节输出流ByteArrayOutputStream字节数组输出流《Java2程序设计实用教程(第2版)》9.2.3Java的标准输入/输出1.标准输入/输出常量publicfinalclassSystemextendsObject{publicfinalstaticInputStreamin//标准输入常量publicfinalstaticPrintStreamout//标准输出常量publicfinalstaticPrintStreamerr//标准错误输出常量}《Java2程序设计实用教程(第2版)》2.PrintStream类publicclassPrintStreamextendsFilterOutputStream{publicvoidprint(booleanb)publicvoidprint(charc)publicvoidprint(longl)publicvoidprint(inti)publicvoidprint(floatf)publicvoidprint(doubled)publicvoidprint(Strings)publicvoidprint(Objectobj)publicvoidprintln()}《Java2程序设计实用教程(第2版)》【例9.1】标准输入/输出。图9.5标准输入过程输入”abc123”键盘标准输入流程序读取标准输入流System.in.read()对字节数组进行操作012345678…5119798994950511310字节数组buffer实际读入8个字节System.in.read()会抛出异常abc123对应字符《Java2程序设计实用教程(第2版)》图9.6标准输出过程显示器程序System.out.println(count=+count);9911111711011661561310不会抛出异常写入coun标准输出流对应字符缓冲区t=8《Java2程序设计实用教程(第2版)》9.2.4文件字节输入/输出流类1.FileInputSream类publicclassFileInputStreamextendsInputStream{publicFileInputStream(Stringname)throwsFileNotFoundExceptionpublicFileInputStream(Filefile)throwsFileNotFoundException}《Java2程序设计实用教程(第2版)》2.FileOutputStream类publicclassFileOutputStreamextendsOutputStream{publicFileOutputStream(Stringname)throwsFileNotFoundExceptionpublicFileOutputStream(Filefile)throwsFileNotFoundExceptionpublicFileOutputStream(Stringname,booleanappend)throwsFileNotFoundException}《Java2程序设计实用教程(第2版)》【例9.2】使用文件字节输入/输出流实现文件的输入/输出操作。1.文件输入操作2.文件输出操作3.文件复制操作《Java2程序设计实用教程(第2版)》9.2.5数据字节输入/输出流类1.DataInputStream类publicclassDataInputStreamextendsFilterInputStreamimplementsDataInput{publicDataInputStream(InputStreamin)//构造方法publicfinalshortreadShort()throwsIOExceptionpublicfinalbytereadByte()throwsIOExceptionpublicfinalintreadInt()throwsIOException//读取一个整型publicfinallongreadLong()throwsIOExceptionpublicfinalfloatreadFloat()throwsIOExceptionpublicfinaldoublereadDouble()throwsIOExceptionpublicfinalcharreadChar()throwsIOException//读取一个字符publicfinalbooleanreadBoolean()throwsIOException}《Java2程序设计实用教程(第2版)》2.DataOutputStream类publicclassDataOutputStreamextendsFilterOutputStreamimplementsDataOutput{publicDataOutputStream(OutputStreamout)//构造方法publicfinalvoidwriteByte(intv)throwsIOExceptionpublicfinalvoidwriteShort(intv)throwsIOExceptionpublicfinalvoidwriteInt(intv)throwsIOException//写入一个整型publicfinalvoidwriteLong(longv)throwsIOExceptionpublicfinalvoidwriteFloat(floatv)throwsIOExceptionpublicfinalvoidwriteDouble(doublev)throwsIOExceptionpublicfinalvoidwriteChar(intv)throwsIOException//写入一个字符publicfinalvoidwriteBoolean(booleanv)throwsIOExceptionpublicfinalvoidwriteChars(Strings)throwsIOException//写入一个字符串publicfinalintsize()//返回实际写入的字节数}《Java2程序设计实用教程(第2版)》【例9.3】将Fibonacci序列值写入一个整数类型文件中。1.数据写入文件的思路同标准输出2.捕获异常控制输入结束《Java2程序设计实用教程(第2版)》9.2.6对象输入/输出流类1.ObjectInputStream类publicclassObjectInputStreamextendsInputStreamimplementsObjectInput,ObjectStr
本文标题:第九章输入输出流和文件操作-仲恺农业工程学院
链接地址:https://www.777doc.com/doc-271758 .html