资源描述:
《最新JAVA-IO流学生课件PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、JAVA-IO流学生课件本节主要内容流的概述流的分类InputStream/OutputStreamReader/Writer流的几种典型流向RandomAccessFile的用法I/O流概述为进行数据的输入/输出操作,Java中把不同的输入/输出源(键盘、文件、网络连接等)抽象表述为“流”(stream)。Stream是从起源(source)到接收(sink)的有序数据java.io包中定义了多个流类型(类或抽象类)来实现输入/输出功能。按照流的方向分两种基本的流:输入流和输出流输入流:只能从中
2、读取字节数据,而不能向其写出数据输出流:只能向其写入字节数据,而不能从中读取数据按照流所处理的数据类型划分,可以分为:字节流:用于处理字节数据(8个bit)包括InputStream/OutputStream。字符流:用于处理Unicode字符数据(16个bit)。包括Writer/Reader常见InputStream类低级InputStream类(节点流):InputStream:所有字节流的超类,定义了很多用于处理输入流的方法,是个抽象类ByteArrayInputStream:为读取字节数
3、组设计的流,用于从文件中读取二进制数据PipedInputStream:管道流,FileInputStream:用于读取文件中的信息FilterInputStream:继承自InputStream,能将一个流连接到另一个流的末端,将两个流连接起来高级InputStream类(处理流):DataInputStream:可以从低级流中读取简单数据和String类型的数据.这样,可以将底层的读取细节隐藏起来,而直接处理简单类型和String类型的数据BufferedInputStream:提供缓冲能力的
4、字节输入流InputStream类层次InputStreamFileInputStreamStringBufferInputStreamByteArrayInputStream节点流处理流ObjectInputStreamPipedInputStreamSequenceInputStreamFilterInputStreamDataInputStreamPushbackInputStreamBufferedInputStreamLineNumberInputStreamInputStream例子(
5、示例10-1)byte[]buff=newbyte[1024];intn;FileInputStreamfis=null;try{fis=newFileInputStream(“C:\a.txt”);while((n=fis.read(buff))!=-1){System.out.write(buff,0,n);}}catch(FileNotFoundExceptione){System.out.println("没有找到文件");System.exit(1);}……OutputStream基本
6、方法三个基本的write方法:voidwrite(intc)voidwrite(byte[]buffer)voidwrite(byte[]buffer,intoffset,intlength)其它方法voidclose()voidflush():将缓冲中的字节发送到流中,同时清空缓冲区OutputStream类低级OutputStream,用来向设备中写入字节流OutputStream:所有字节输出流的基类ByteArrayOutputStream:按字节数组方式向设备中写入字节流的类PipedO
7、utputStream:管道输出流高级OutputStreamDataOutputStream:可以向低级流中写入简单数据和String类型的数据.这样,可以将底层的写入细节隐藏起来,而直接处理简单类型和String类型的数据BufferedOutputStream:提供缓冲能力的字节输出流OutputStream类层次OutputStreamFileOutputStreamFilterInputStreamByteArrayOutputStreamPipedOutputStream节点流处理流O
8、bjectOutputStreamDataOutputStreamPrintStreamBufferedOutputStreamOutputStream例子(示例10-2)FileOutputStreamout;//声明一个PrintStream流PrintStreamp;try{out=newFileOutputStream("myfile.txt");p=newPrintStream(out);p.println("面朝大海,春暖花开");p.close();}catch(Ex