Java流本节主要内容流的概述流的分类InputStream/OutputStreamReader/essFile的用法I/O流概述为进行数据的输入/输出操作,Java中把不同的输入/输出源(键盘、文件、网络连接等)抽象表述为“流”(stream)。Stream是从起源(source)到接收(sink)(类或抽象类)来实现输入/输出功能。按照流的方向分两种基本的流:输入流和输出流输入流:只能从中读取字节数据,而不能向其写出数据输出流:只能向其写入字节数据,而不能从中读取数据按照流所处理的数据类型划分,可以分为:字节流:用于处理字节数据(8个bit)包括InputStream/OutputStream。字符流:用于处理Unicode字符数据(16个bit)。包括Writer/Reader节点流和处理流按照流的角色划分,分为节点流和处理流可以从/向一个特定的IO设备(如磁盘、网络)读/写数据的流,称为节点流。节点流也被称为低级流。例如:InputStream和Reader的子类都有read()的方法,OutputStream和Writer的子类都有write()的方法,用于读取/,通过所封装的流的功能调用实现数据读/写功能的流,称为处理流。处理流也被称为高级流。InputStream/OutputStreamInputStream/OutputStream用于处理字节数据。它们读/写流的方式都是以字节为单位进行的。InputStream基本方法三个基本的read方法:intread():读取一个字节,并将它返回。intread(byte[]buffer):将数据读入一个字节数组,同时返回读取的字节数。intread(byte[]buffer,intoffset,intlength):将数据读入一个字节数组,放到数组的offset指定的位置开始,并用length来指定读取的最大字节数。注意:以上三个方法在读取到文件末尾时,都返回-:voidclose():关闭流。intavailable():返回可以从中读取的字节数。longskip(longn):在输入流中跳过n个字节,将实际跳过的字节数返回。booleanmarkSupported():判断流是否支持标记功能。voidmark(intreadlimit):在支持标记的输入流的当前位置设置一个标记。voidreset():返回到流的上一个标记。注意必须流支持标记功能。常见InputStream类低级InputStream类(节点流):InputStream:所有字节流的超类,定义了很多用于处理输入流的方法,是个抽象类ByteArrayInputStream:为读取字节数组设计的流,用于从文件中读取二进制数据PipedInputStream:管道流,:用于读取文件中的信息FilterInputStream:继承自InputStream,能将一个流连接到另一个流的末端,将两个流连接起来高级InputStream类(处理流):DataInputStream:,可以将底层的读取细节隐藏起来,而直接处理简单类型和String类型的数据BufferedInputStream:提供缓冲能力的字节输入流InputStream类层次InputStreamStringBufferInputStreamByteArrayInputStream节点流处理流ObjectInputStreamPipedInputStreamSequenceInputStreamFilterInputStreamDataInputStreamPushbackInputStreamBufferedInputStreamLineNumberInputStreamInputStream例子(示例10-1)byte[]buff=newbyte[1024]; intn; fis=null;try{ fis=new(“C:\\”); while((n=(buff))!=-1){ (buff,0,n); }} catch(e){ ("没有找到文件"); (1);} ……OutputStream基本方法三个基本的write方法:voidwrite(intc)voidwrite(byte[]buffer)voidwrite(by
JAVA IO流学生 ppt课件 来自淘豆网m.daumloan.com转载请标明出处.