第10章 和流.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《第10章 和流.ppt》由会员分享,可在线阅读,更多相关《第10章 和流.ppt(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第10章章 文件和流文件和流 学习导读学习导读n输入和输出是一个程序重要的功能,Java的应用程序和Java Applet往往经常要通过输入和输出来读写数据。n本章将介绍如何从一个能发送字节序列的“数据源”获得输入,以及如何将输出发送给能够接收字节序列的一个“目标”。课程结构课程结构nJava流类库简介n基本流n数据流n过滤流n文件流n对象流10.1 Java流类库简介流类库简介n1 流的概念nJava所有的I/O机制都是基于数据流的,这些数据流表示了字符或者字节数据的流动序列。n流是一个很形象的概念,当程序需要读取数据时,就会开启一个通向数据源的流,这个数据源可以是文件,内存,或是网络连接
2、,则这就是“输入流”,如图所示。类似的,当程序需要写入数据的时候,就会开启一个通向目的地的流,这就是“输出流”,这时你就可以想像数据好像在这其中“流”动一样,如图所示。10.1 Java流类库简介流类库简介 输入流输入流 输出流输出流10.1 Java流类库简介流类库简介nJava中的流分为两种:中的流分为两种:n一种是字节流,另一种是字符流一种是字节流,另一种是字符流n分别由四个抽象类来表示(每种流包括输入和分别由四个抽象类来表示(每种流包括输入和输出各两种,所以一共四个):输出各两种,所以一共四个):InputStreamOutputStreamReaderWriter10.1 Java流
3、类库简介流类库简介n2 Java的的I/O库库nJava中的中的字节流字节流是用于处理字节的输入和输出是用于处理字节的输入和输出的,包括读写二进制数据等方面的内容。的,包括读写二进制数据等方面的内容。InputStream OutputStreamn而而Java中的中的字符流字符流则用于处理字符的输入和输则用于处理字符的输入和输出,采用的是出,采用的是Unicode编码,可以实现国际化。编码,可以实现国际化。Reader Writer10.1 Java流类库简介流类库简介n(1)InputStream1)abstract int read()2)int read(byte b)3)int re
4、ad(byte b,int off,int len)4)long skip(long n)5)int available()()6)void close()()7)void mark(int readlimit)8)void reset()()9)boolean markSupported()10.1 Java流类库简介流类库简介n(2)OutputStream1)abstract void write(int b)2)void write(byte b)3)void write(byte b,int off,int len)4)void close()()5)void flush()()10
5、.1 Java流类库简介流类库简介n(3)Reader Writerpublic abstract int read()throws IOExceptionpublic abstract void write()throws IOException 10.2 基本流基本流n1.键盘输入和格式化输出n它有它有3个内置的标准流对象,它们是:个内置的标准流对象,它们是:1)标准输入流)标准输入流System.io:用于程序的输入,通常用来用于程序的输入,通常用来读取用户从键盘的输入。读取用户从键盘的输入。2)标准输出流)标准输出流System.out:用于程序的输出,通常用用于程序的输出,通常用来在
6、屏幕上显示信息。来在屏幕上显示信息。3)标准出错流)标准出错流System.err:用于显示出错信息。用于显示出错信息。10.2 基本流基本流n基本的键盘输入基本的键盘输入(1)方方法法一一:使使用用System.in对对象象的的方方法法read()来来读读取键盘的输入取键盘的输入 见见例例10。1(2)方方法法二二:可可以以通通过过java.io包包中中提提供供的的流流类类接接收收键键盘的输入盘的输入 见见例例10。2(3)可可以以通通过过控控制制台台类类Console类类来来实实现现从从键键盘盘输输入入;控控制制台台类类Console不不属属于于Java的的标标准准类类库库,它它属属于于c
7、orejava包包 见见例例10。310.2 基本流基本流n格式化输出格式化输出1)输输出出方方法法:用用System.out内内置置的的标标准准输输出出对对象象来来输输出到标准设备(一般是显示器)出到标准设备(一般是显示器)见例见例10。32)可可 以以 控控 制制 显显 示示 格格 式式,在在 java.text包包 中中 的的NumberFromat类就可以控制输出的格式类就可以控制输出的格式 见见例例10。53)用户还可以创建自己的格式)用户还可以创建自己的格式 4)用)用Console类格式化输出类格式化输出 10.2 基本流基本流n2.读和写字节读和写字节n(1)InputStre
8、am类的抽象方法类的抽象方法 n(2)OutputStream类的抽象方法类的抽象方法n(3)available方法方法n 10.3 数据流数据流n数据流支持所有数据流支持所有Java中的基本类型。中的基本类型。n可以通过分别实现了可以通过分别实现了DataOutput和和DataInput两个接口的两个接口的DataOutputStream和和DataInputStream类中的方法对基本数据进行读类中的方法对基本数据进行读写写n 10.3 数据流数据流nDataInput接口接口 1)boolean readBoolean():():读入一个布尔值。读入一个布尔值。2)byte readB
9、yte():():读入一个读入一个8位字节。位字节。3)char readChar():():读入一个读入一个16位的字符。位的字符。4)double readDouble():():读入一个读入一个64位位double字符。字符。5)float readFloat():():读入一个读入一个32位位float字符。字符。6)void readFully(byte b):读读字字节节,直直到到读读所所有有字字节才封锁,参数节才封锁,参数b为读入数据的缓冲区。为读入数据的缓冲区。10.3 数据流数据流7)void readFully(byte b,int off,int len):读读字字节节,
10、直直到到读读所所有有字字节节才才封封锁锁,参参数数b为为读读入入数数据据的的缓缓冲冲区区,off为数据的起始偏移量,为数据的起始偏移量,len为写的字节数。为写的字节数。8)int readInt():():读一个读一个32位整数。位整数。9)String readLine():读读入入一一行行以以一一个个n,r,rn或或EOF结结束束的的字字符符串串,返返回回一一个个字字符符串串,该该字字符符串串包包含含转换为单位码字符的行中的所有字节。转换为单位码字符的行中的所有字节。10)long readLong():():读入一个读入一个64位的长整数。位的长整数。11)short readShor
11、t():():读入一个读入一个16位的短整数。位的短整数。12)String readUTF():读读入入一一个个UTF格格式式的的字字符符串。串。13)int skipByte(int n):跳跳过过若若干干个个字字节节,直直到到跳跳过所有的字节才封锁,过所有的字节才封锁,n为跳过的字节。为跳过的字节。10.3 数据流数据流n2 Java.DataOutput接口接口1)void writeBoolean(boolean b):):写一个布尔值。写一个布尔值。2)void writeByte(byte b):):写一个写一个8位字节。位字节。3)void writeChar(char c):
12、):写一个写一个16位字符。位字符。4)void writeChars(String s):写写入入字字符符串串的的所所有有字符。字符。5)void writeFloat(float f):):写写32位位float数。数。6)void writeDouble(double d):):写写64位位double数。数。7)void writeInt(int I):):写写32位整数。位整数。8)void writeLong(long l):):写写64位长整数。位长整数。9)void writeShort(short s):):写写16位短整数。位短整数。10)void writeUTF(Str
13、ing s):写一个写一个UTFUTF格式的字符格式的字符串串 10.4 java的输入输出流简介的输入输出流简介一、字节流:(一、字节流:(InputStream,OutStream)1、FileInputStream(文件输入流):文件输入流):源自日常文件的数源自日常文件的数据输入流,它可以创建一个能从文件中读取字节的据输入流,它可以创建一个能从文件中读取字节的InputStream类。它的构造函数为:类。它的构造函数为:FileInputStream(String filepath)throws FileNotFoundException;FileInputStream(File fi
14、leObj)throws FileNotFoundException;其中:其中:filepath是文件的全称路径,是文件的全称路径,fileObj是描述该文件是描述该文件的的File对象。对象。2、ByteArrayInputStream(字节数组输入流)字节数组输入流)n把字节数组当成源的输入流。把字节数组当成源的输入流。nByteArrayInputStream 包含一个内部缓冲区,包含一个内部缓冲区,该缓冲区存储从流中读取的字节。内部计数器该缓冲区存储从流中读取的字节。内部计数器跟踪跟踪 read 方法要提供的下一个字节。方法要提供的下一个字节。构造函数:构造函数:ByteArrayI
15、nputStream(byte array)ByteArrayInputStream(byte array,int start,int numBytes)例:例:ByteArrayInputStreamReset.java10.4 java的输入输出流简介的输入输出流简介3、FileOutputStream(文件输出流)文件输出流)创建一个可以向文件写入字节的类创建一个可以向文件写入字节的类OutputStream,可以引可以引发发IOException或或SecurityException异常。异常。FileOutputStrem的创建不依赖于文件是否存在。在创的创建不依赖于文件是否存在。在
16、创建对象时建对象时FileOutputStream在打开输出文件之前创建在打开输出文件之前创建它。此时如果打开一个只读文件,将会引发一个它。此时如果打开一个只读文件,将会引发一个IOException异常。常用构造函数:异常。常用构造函数:FileOutputStream(String filePath)FileOutputStream(String filePath,boolean append)FileOutputStream(File fileObj)例:例:FileOutputStreamDemo.java10.4 java的输入输出流简介的输入输出流简介4、ByteArrayOutp
17、utStream(字节数组输出流)字节数组输出流)是一个把字节数组当作输出流的实现,构造函数为:是一个把字节数组当作输出流的实现,构造函数为:ByteArrayOutputStream():生成一个生成一个32位字节的缓冲器。位字节的缓冲器。ByteArrayOutputStream(int numBytes):生成一个跟指:生成一个跟指定定numBytes相同位数的缓冲器。相同位数的缓冲器。5、BufferedInputStream(缓冲输入流)和缓冲输入流)和BufferedOutputStream(缓冲输出流)(缓冲输出流)BufferedInputStream在在InputStream
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第10章 和流 10
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内