欢迎来到天天文库
浏览记录
ID:49205500
大小:477.00 KB
页数:28页
时间:2020-02-01
《15文件与IO流.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、文件与IO流2主要内容流的概念流的分类流的使用(以字节流为例)标准输入/输出流文件输入/输出流字符流的使用3流(Stream)的概念流是从源到目的地的有序字节序列,具有先进先出的特征。根据流与程序的关系将流分为输入流和输出流两类。程序从输入流读取数据;向输出流写出数据。4流的概念源输入流的源可以是文件、标准输入(键盘)、其他外部输入设备或者其他输入流。目的地输出流的目的地可以是文件、标准输出(显示器)、其他外部输出设备或者其他输出流。Java中输入输出是通过流来实现的。相关的类都在java.io包中。5
2、流的分类输入流/输出流按流与程序的关系分。字节流/字符流按流中处理的数据是以字节(8位)为单位还是以字符(16位)为单位分为字节流和字符流。Java中字节流和字符流分属两个不同的体系。6字节流的层次结构过滤流结点流抽象类7字符流的类层次结构CharArrayReaderStringReaderPipedReaderInputStreamReaderBufferedReaderFilterReaderFileReaderLineNumberReaderPushbackReaderReaderCharArr
3、ayWriterStringWriterPipedWriterOutputStreamWriterBufferedWriterFilterWriterFileWriterWriterObjectPrinterWriter8InputStream类的常用方法读一个字节,并返回该字节。未读到返回-1publicintread()throwsIOException关闭流publicvoidclose()throwsIOException将数据读入字节数组b,返回所读的字节数intread(byte[]b)th
4、rowsIOException将数据读入字节数组b,返回所读的字节数,offset和length指示byte[]中存放读入字节的位置。intread(byte[]b,intoffset,intlength)throwsIOException9OutputStream的常用方法写一个字节voidwrite(int)throwsIOException关闭输出流voidclose()throwsIOException将缓冲区的数据写到目的地。voidflush()throwsIOException写一个字节数
5、组voidwrite(byte[]b)throwsIOExceptionvoidwrite(byte[]b,intoffset,intlength)throwsIOException10标准输入输出流System.out:把输出送到缺省的显示(通常是显示器)System.in从标准输入获取输入(通常是键盘)System是final类,in,out是System的静态成员变量,因此可以用System.in等形式直接使用。11标准输入System.in在System中,in的完整定义是:publicstat
6、icfinalInputStreamin;in的主要方法:publicintread()throwsIOExceptionpublicintread(byte[]b)throwsIOException使用注意事项:前者返回读入的一字节的数据,但返回的是int整型值,取值范围是0-255。后者返回读入的字节数,读入的各字节保存在作为参数的字节型数组对象中。执行read时,程序会等待用户的输入。输入完成后再接着执行后面的语句。12流的使用过程输入/输出流的使用过程:实例化一个输入/输出流对象使用该输入/输出
7、流对象的方法读入/写出数据关闭该输入/输出流对象注意事项输入/输出流的方法会抛出异常,因此必须进行异常处理。标准输入/输出流对象System.in,System.out始终存在,不需要实例化,也不需要关闭。13例:使用System.in实现键盘数据输入importjava.io.*;publicclassTestInput{publicstaticvoidmain(String[]args){try{bytebArray[]=newbyte[128];System.out.println("请输入一些东
8、西:");System.in.read(bArray);Strings=newString(bArray,0,bArray.length).trim();System.out.println("你输入的是:"+s);}catch(IOExceptionioe){System.out.println(ioe.toString());}}}14从文件读数据:FileInputStreamFileInputStream是InputStream的子
此文档下载收益归作者所有