欢迎来到天天文库
浏览记录
ID:59490243
大小:319.00 KB
页数:45页
时间:2020-09-13
《第8章输入输出技术ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第8章输入输出技术8.1流式输入输出8.2基本输入输出流8.3文件处理类8.4对象流习题8.1流式输入输出所有的计算机程序都必须接收输入和产生输出。针对输入、输出,Java提供了丰富的类库进行相应的处理,包括从普通的流式输入输出到复杂的文件随机访问。计算机系统使用的信息都是从输入经过计算机流向输出。这种数据流动就称为流(Stream)。输入流指数据从键盘或者文件等输入设备流向计算机;输出流指数据处理结果从计算机流向屏幕或文件等输出设备。在Java中,通过java.io包提供的类来表示流,基本的输入输出流为InputStre
2、am和OutputStream。从这两个基本的输入输出流派生出面向特定处理的流,如缓冲区读写流、文件读写流等。Java定义的流如表8.1所示。表8.1Java定义的输入输出流8.2基本输入输出流8.2.1InputStream类InputStream是抽象类,代表字节输入流的所有类的超类。这个类本身不能使用,只能通过继承它的具体类完成某些操作。它的常用方法如下:publicintavailable()throwsIOException返回流中可用的字节数。publicvoidclose()throwsIOException
3、关闭流并释放与流相关的系统资源。用户使用完输入流时,调用这个方法。publicvoidmark(intreadlimit)throwsIOException输入流中标志当前位置。publicbooleanmarkSupported()throwsIOException测试流是否支持标志和复位。publicabstractintread()throwsIOException读取输入流中的下一个字节。publicintread(byte[]b)throwsIOException从输入流中读取字节并存储到缓冲区数组b中,返回读取
4、的字节数,遇到文件结尾返回-1。publicintread(byte[]b,intoff,intlen)throwsIOException从输入流中读取len个字节并写入b中,位置从off开始。返回写的字节数。publicvoidreset()throwsIOException重定位到上次输入流中调用的位置。publiclongskip(longn)throwsIOException跳过输入流中n个字节,返回跳过的字节数,遇到文件结尾返回-1。8.2.2OutputStream类OutputSteam是抽象类,代表输出字节
5、流的所有类的超类。publicvoidclose()throwsIOException关闭输出流,释放与流相关的系统资源。publicvoidflush()throwsIOException清洗输出流,使得所有缓冲区的输出字节全部写到输出设备中。publicvoidwrite(byte[]b)throwsIOException从特定字节数组b将b数组长度个字节写入输出流。publicvoidwrite(byte[]b,intoff,intlen)throwsIOException从特定字节数组b将从off开始的len个字节
6、写入输出流。publicabstractvoidwrite(intb)throwsIOException向输出流写一个特定字节。8.2.3系统输入输出对象Java定义了两个流对象System.in和System.out,允许用户在自己的程序中直接使用。System.in对象允许用户从键盘读取数据,System.out对象可以产生屏幕输出。【例8.1】使用流对象System.in和System.out,接收用户从键盘上输入的数据并将数据输出到屏幕上。测试情况如图8.1所示。源程序代码如下://程序文件名为SystemIO.j
7、avaimportjava.io.*;publicclassSystemIO{publicstaticvoidmain(String[]args){intbytes=0;bytebuf[]=newbyte[255];System.out.println("请输入任意文本:");try{//接收输入字符串bytes=System.in.read(buf,0,255);System.out.println("这是你输入的文本行:");StringinStr=newString(buf,0,bytes);//输出字符串Sys
8、tem.out.println(inStr);}catch(IOExceptione){System.out.println(e.getMessage());}}};图8.1例8.1的屏幕显示8.3文件处理类8.3.1FileInputStream类FileInputStream(文件输入流)类是用来得
此文档下载收益归作者所有