《输入与输出 》PPT课件.ppt





《《输入与输出 》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《输入与输出 》PPT课件.ppt(50页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第八章 输入与输出n概念nJava I/O类nJava I/O操作n标准输入/输出n文件读写操作n目录管理n随机访问文件概念n数据流:一组有顺序的有起点和终点的字节集合。n以流(stream)的方式对数据进行操作数据源程序读出数据流目的程序写入数据流l I/O来源 控制台(console)打印/读入 文件(file)读/写 网络接口(TCP/UDP端口)读/写概念n读/写流的一般流程n读(Reading)1.openastream/打开读出流2.whilemoreinformation/判断3.readinformation/读4.closethestream/关闭流n写(Writing)1.
2、openastream/打开写入流2.whilemoreinformation/判断3.writeinformation/写4.closethestream/关闭流概念n两种流的定义(读取信息的基本数据单位)n字节流(byte stream):一个字节(8-bit)一个字节读/写n字符流(character stream):一个字符一个字符读/写eg “j a v a 语 言”以字节流的方式读:读8次,8个字节 以字符流的方式读:读6次,6个字符JavaI/O类n字节流的读/写操作(来自JDK1.0)n(抽象类)1.publicabstractintread()2.publicintread(
3、byteb)3.publicintread(byteb,intoffset,intlength)4.到达流的终点,无数据读出则返回-1n(抽象类)1.publicabstractvoidwrite(intb)2.publicvoidwrite(byteb)3.publicvoidwrite(byteb,intoffset,intlength)n所有的读/写函数都抛出JavaI/O类n字符流的读/写操作(来自JDK1.1)n(抽象类)1.publicintread()2.publicintread(charcbuf)3.publcabstractintread(charcbuf,intoffse
4、t,intlength)4.到达流的终点,无数据读出则返回-1n(抽象类)1.publicvoidwrite(intc)2.publicvoidwrite(charcbuf)3.publicvoidwrite(charcbuf,intoffset,intlength)n所有的读/写函数都抛出JavaI/O类nI/O流的层次关系nclass的子类nclassnclassjava.io.FileInputStreamnclassnclassjava.io.BufferedInputStreamnclassnclassnclassnclassnclassnclassnclassnJavaI/O类nI
5、/O流的层次关系nclass的子类nclassnclassjava.io.FileOutputStreamnclassnclassjava.io.BufferedOutputStreamnclassnclassnclassnclassnJavaI/O类nI/O流的层次关系nclass的子类nclassjava.io.BufferedReadernclassnclassnclass nclassnclassnclassjava.io.FileReadernclassnclassnJavaI/O类nI/O流的层次关系nclass的子类nclassjava.io.BufferedWriterncla
6、ssnclassnclassnclassjava.io.FileWriternclassnclassnclassnJavaI/O类nI/O流的分类(12个功能类)I/O类型所用到的类描述文件FileReader/FileWriterFileInputStream/FileOutputStream文件流(读/写文件)缓冲BufferedReader/BufferedWriterBufferedInputStreamBufferedOutputStream提高读/写效率打印PrintWriterPrintStream(System.out.println()提供打印内存CharArrayReade
7、r/CharArrayWriterByteArrayInputStreamByteArrayOutputStreamStringReader/StringWriterStringBufferInputStream读/写内存中字节/字符数组JavaI/O类nI/O流的分类(12个功能类)I/O类型所用到的类描述字节流和字符流的转换InputStreamReaderOutputStreamWriter将字节转为字符流输入/将字符流转为字节流输出管道pipePipedReader/PipedWriterPipedInputStream/PipedOutputStream将一个线程的输出作为另一个线程
8、的输入连接ConcatenationSequenceInputStream多个输入流连接为一个输入流对象串行化ObjectInputStreamObjectOutputStreamObjectSerializationJavaI/O类nI/O流的分类(12个功能类)I/O类型所用到的类描述基本数据转化DataInputStreamDataOutputStreamJAVA基本数据类型的读/写计数LineNumberReaderLineNumberInputStream读操作时记录行数PeekingAheadPushbackReaderPushbackInputStream可回退缓存(pushba
9、ckbuffer)过滤FilterReader/FilterWriterFilterInputStream/FilterOutputStream在读/写操作时对数据进行过滤标准输入/输出nSystem.in System.out System.err 1()2 print(参数),println(参数)classTestpublicstaticvoidmain(Stringargs)System.out.println(“HelloWorld!”);import;classTestpublicstaticvoidmain(Stringargs)throwsIOExceptionbyteb=ne
10、wbyte10;System.out.println(Receivednumber=+System.in.read(b);C:javaTestAReceivednumber=3C:【示例8-1】IOExample.JavaimportJava.io.IOException;classIOExamplepublicstaticvoidmain(Stringargs)throwsIOExceptionchara;System.out.print(Pleaseinputachar:);a=(char)System.in.read();System.out.println(Thecharis:+a);
11、程序运行结果:程序运行结果:Pleaseinputachar:(键入任意一个字符(C),回车)输出:Thenumberis:C8.3 常用的流类文件管理File类File类包含许多用于执行文件常规操作的方法。可以访问指定文件的所有属性,还可以删除,创建,更名指定的文件或目录。n类:文件和目录的路径名n路径名(pathname)nUNIX平台上绝对路径的前缀“/”,相对路径无前缀,例“/etc/inetd.conf”、“inetd.conf”nWindows平台,绝对路径名的前缀由“盘符:”组成,或共享名前缀“”,然后是主机名和共享名,相对路径名无盘符,例“c:windowsnotepad.ex
12、e”、“192.168.1.10Test.java”n构造方法npublicFile(Stringpathname)npublicFile(Stringparent,Stringchild)npublicFile(Fileparent,Stringchild)nparent通常表示一个目录,child则表示一个目录或文件文件管理File类常用方法public String getAbsolutePath()public boolean canWrite()/canRead()publicbooleanrenameTo(Filedest)public boolean delete()public
13、 boolean exists()public String getName()public String getParent()public boolean isDirectory()public boolean isFile()public String list()public String list(FilenameFilter filter)public boolean mkdir()public URL toURL()文件管理File类方法举例import;publicclassDirListpublicstaticvoidmain(Stringargs)Filepath=newF
14、ile(.);Stringlist=path.list();for(inti=0;ilist.length;i+)System.out.println(listi);import;import;publicclassDirListpublicstaticvoidmain(Stringargs)Filepath=newFile(.);Stringlist=path.list(newDirFilter(args0);for(inti=0;ilist.length;i+)System.out.println(listi);classDirFilterimplementsFilenameFilter
15、Stringkey;DirFilter(Stringkey)this.key=key;publicbooleanaccept(Filedir,Stringname)Stringf=newFile(name).getName();returnf.indexOf(key)!=-1;接口publicbooleanaccept(Filedir,Stringname);/是否指定的文件应包含在文件列表中publicStringgetName()in/获得文件或目录名文件读写操作n文件读/写流程1.打开文件流2.条件判断3.读出/写入4.关闭文件流n两种类型文件nFileInputStream/FileO
16、utputStream(字节流)nFileReader/FileWriter(字符流)1.字节流构造方法npublicFileInputStream(Stringname)throwsFileNotFoundExceptionnpublicFileInputStream(Filefile)throwsFileNotFoundExceptionnpublicFileOutputStream(Filefile)throwsFileNotFoundExceptionnpublicFileOutputStream(Filefile,booleanappend)throwsFileNotFoundExc
17、eption/是否向已存在的文件后添加npublicFileOutputStream(Stringname)throwsFileNotFoundExceptionnpublicFileOutputStream(Stringname,booleanappend)throwsFileNotFoundException文件读写操作文件读写操作2.字节流方法npublicintread()throwsIOExceptionnpublicintread(byteb)throwsIOExceptionnpublicintread(byteb,intoffset,intlen)throwsIOExcepti
18、onnpublicvoidclose()throwsIOExceptionnpublicvoidwrite(intb)throwsIOExceptionnpublicvoidwrite(byteb)throwsIOExceptionnpublicvoidwrite(byteb,intoffset,intlen)throwsIOException典型的读文件程序import;import;publicclassFileInputDemopublicstaticvoidmain(Stringargs)throwsIOExceptionFileInputStreamfile=newFileInput
19、Stream(args0);intc;while(c=file.read()!=-1)System.out.print(char)c);file.close();import;import;import;import;publicclassCopyBytesDemo1publicstaticvoidmain(Stringargs)throwsIOExceptionFileinputFile=newFile(args0);FileoutputFile=newFile(args1);FileInputStreamin=newFileInputStream(inputFile);FileOutput
20、Streamout=newFileOutputStream(outputFile);intc;while(c=in.read()!=-1)out.write(c);in.close();out.close();importjava.io.*;publicclassc8_7publicstaticvoidmain(Stringargs)charc;intc1;FilefilePath=newFile(temp);if(!filePath.exists()filePath.mkdir();Filefl=newFile(filePath,d1.txt);tryFileOutputStreamfout
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 输入与输出 输入与输出 PPT课件 输入 输出 PPT 课件

限制150内