JavaSE第八讲-Java中的I.ppt

上传人:xin****828 文档编号:14601298 上传时间:2020-07-25 格式:PPT 页数:24 大小:463KB
收藏 版权申诉 举报 下载
JavaSE第八讲-Java中的I.ppt_第1页
第1页 / 共24页
JavaSE第八讲-Java中的I.ppt_第2页
第2页 / 共24页
JavaSE第八讲-Java中的I.ppt_第3页
第3页 / 共24页
资源描述:

《JavaSE第八讲-Java中的I.ppt》由会员分享,可在线阅读,更多相关《JavaSE第八讲-Java中的I.ppt(24页珍藏版)》请在装配图网上搜索。

1、Java SE,第八讲,Java中的I/O,File,文件和目录路径名的抽象表示形式,TestFile.java,字节输入输出流,I/O 类库中通常使用“流(stream)”这个抽象概念,它代表任何有能力产出数据的数据源对象或者是有能力接收数据的接收端对象。“流”屏蔽了实际的 I/O 设备中处理数据的细节。 在Java 1.0 中,类库的设计者首先限定与输入有关的所有类都应该从 InputStream 继承,而与输出有关的所有类都应该从OutputStream 继承 。,InputStream及其子类型,原始字节输入流处理器,ByteArrayInputStream:为多线程的通信提供缓冲区操

2、作功能,接收一个Byte数组作为流的源。 FileInputStream:建立一个与文件有关的输入流,接收一个File对象作为流的源。 PipedInputStream:可以与PipedOutputStream配合使用,用于读入一个数据管道的数据,接收一个PipedOutputStream作为源。 StringBufferInputStream:将一个字符传缓冲区转换为一个输入流,接收一个String对象作为流的源。,FileInputStreamDemo.java,FileInputStreamDemo,链接字节输入流处理器,FilterInputStream称为过滤输入流,它将另一个输入流

3、作为源,这个类的子类包括以下几种: BufferedInputStream:用来从硬盘将数据读入到一个内存缓冲区,并从此缓冲区提供数据。 DataInputStream:提供基于多字节的读取方法,可以读取原始数据类型的数据。 PushbackInputStream:提供特殊的功能,可以将已经读取的字节“推回”到输入流中。 ObjectInputStream:可以将使用ObjectOutputStream串行化的原始数据类型和对象从新并行化。 SequenceInputStream:可以将两个已有的输入流连接起来,形成一个输入流,从而将多个输入流排列成一个输入流序列。,OutputStream及

4、其子类型,原始字节输出流处理器,ByteArrayOutputStream:为多线程的通信提供缓冲区操作功能,输出流的汇集是一个Byte数组。 FileOutputStream:建立一个与文件有关的输出流,输出流的汇集是一个File对象。 PipedOutputStream:可以与PipedInputStream配合使用,用于向一个数据管道输出数据。,FileOutputStreamDemo.java,FileOutputStreamDemo,链接字节输出流处理器,FilterOutputStream称为过滤输出流,它将另一个输出流作为流汇,这个类的子类包括以下几种: BufferedOutp

5、utStream:用来向一个内存缓冲区写出数据,并将此缓冲区的数据输出到硬盘中。 DataOutputStream:提供基于多字节的写出方法,可以写出原始数据类型的数据。 PrintStream:用于产生格式化输出,System.out就是一个PrintStream。 ObjectOutputStream:可以将原始数据类型和对象串行化。,Person.java,TestObject.java,Object序列化,“装饰器(Decorator)”类,通过FilterInputStream从InputStream中读入数据其中 DataInputStream可以对各种基本数据类型以及String

6、 对象格式化到“流”中,以便在任何机器上的任何DataInputStream都能够读取它们。 与DataInputStream对应的是 DataOutputStream我们几乎对所有的输入/输出操作进行缓冲,不管是什么样的IO设备或是String,Array这样的输入可以使用BufferedInputStream防止每次读取时都得进行实际写操作 。,字符输入输出流,Java 1.1 对基本的 I/O“流”类库进行了重大的修改新增了Reader 和 Writer 类,但是并不是用来替代InputStream 和 OutputStream的。 尽管一些原始的“流”类库不再被使用(如果使用它们,则会

7、收到编译器的警告信息),大部分情况可以使用Reader和Writer类代替,但是 InputStream 和 OutputStream在以面向字节形式的 I/O 中仍可以提供极有价值的功能,Reader 和 Writer 则提供兼容 Unicode 与面向字符的 I/O 的功能。 Reader 和 Writer类的设计继承层次结构主要是为了国际化老的 I/O 流继承层次结构仅支持8 位字节流,并且不能很好地处理 16位的 Unicode 字符 。,Reader及其子类型,原始字符输入流处理器,CharArrayReader:为多线程的通信提供缓冲区操作功能。 InputStreamReader

8、:这个类有一个子类FileReader PipedReader:可以与PipedOutputStream配合使用,用于读入一个数据管道的数据。 StringReader:将一个字符串缓冲区转换为一个输入流,接收一个String对象作为流的源。,ReaderWriterDemo.java,链接字符输入流处理器,FilterReader称为过滤输入流,它将另一个输入流作为源,这个类的子类有PushbackReader,允许将字符“推回”到流中。 BufferedReader:用来从硬盘将数据读入到一个内存缓冲区中,并从此缓冲区提供数据,这个类的子类为LineNumberReader。,Writer

9、及其子类型,原始字符输出流处理器,CharArrayWriter:为多线程的通信提供缓冲区操作功能。 OutputStreamWriter:建立一个与文件有关的输出流,h含有一个具体子类FileWriter,为Writer类型的输出流提供文件输出功能。 PipedWriter:可以与PipedInputStream配合使用,用于读入一个数据管道的数据。 StringWriter:向一个StringBuffer写出数据,链接字符输出流处理器,FilterWriter称为过滤输出流,它将另一个输出流作为流汇,这是一个没有子类的抽象类。 BufferedWriter:为Writer类型的流处理提供缓

10、冲区功能。 DataOutputStream:提供基于多字节的写出方法,可以写出原始数据类型的数据。 PrintWriter:支持格式化的文字输出,“适配器(adapter)”类,尽量使用Reader和Writer,如果无法得到想要的结果或是无法编译成功,就不得不使用面向字节的类库。 InputStreamReader类可以把InputStream转化成Reader,OutputStreamWriter类可以把OutputStream转化成Writer 。,如何将字节流转换成为字符流?,独立类RandomAccessFile,此类的实例支持对随机存取文件的读取和写入 RandomAccessFile不是InputStream或OutputStream继承层次结构中的类,是自我独立的。 适用于由大小已知的记录组成的文件,可以在一个文件中向前和向后移动 。,RandomDemo.java,Thank You! Q&A Time,

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!