Java输入输出系统.ppt
《Java输入输出系统.ppt》由会员分享,可在线阅读,更多相关《Java输入输出系统.ppt(56页珍藏版)》请在三一办公上搜索。
1、7 Java输入输出系统,内容,什么是流流的分类字节流,字符流,处理流文件IO操作文件类File标准输入输出对象的序列化,什么是流?,Stream,Stream,Stream,Stream,A stream is a path ofinformation from a source to a destination,.doc.txt,什么是流?,程序设计语言借用水流、电流等概念,将流动的数据称为“流”。流可以有各种来源和目的地,如标准输入输出、文件、网络等,也可以有各种不同的用途和处理方法,因而有许多分类。Java关于流的设计思想是:提供各种不同的流类,由程序员进行组合使用,以提供最大的灵活性
2、。,流的功能概述,Java提供了不同的流类以实现如下的功能标准输入输出文件输入输出文本文件/二进制文件顺序读写/随机读写java.nio包进一步提供了异步数据读写、内存映射文件、文件锁等功能网络数据读写将对象存储为流/从流中读取对象,称为对象的序列化或串行化(Serialization),流的分类,java.io包提供了多个流类来实现输入输出功能:按照数据流的方向不同分为输入流和输出流按照处理数据单位的不同分为字节流和字符流按照功能不同可以分为节点流和处理流(或者称过滤流,Filter),流的分类,InputStream,OutputStream,Reader,Writer,Byte Stre
3、ams,Character Streams,读写以字节为单位进行,读写以字符为单位进行,流的分类,节点流(node stream)对指定的地方(磁盘文件、内存 等)读/写处理流(filter stream)一个处理流使用节点流作为输入或输出。,目的地,数据源,InputStream的分类,InputStream是字节输入流。它的几种输入源可以是:1.一个字节数组2.一个文件3.一个管道,InputStream的分类,常用的InputStream流有下列几个:ByteArrayInputStream FileInputStream PipedInputStream,/把字节数组转换为输入流,/从
4、文件中读取数据,/连接一个PipedOutputStream,InputStream的方法,InputStream的常用方法:public abstract int read()throws IOException public int read(byte data)throws IOException public int read(byte data,int offset,int length)throws IOException public long skip(long n)throws IOException public int available()throws IOExcept
5、ion public void close()throws IOException public void mark(int readlimit)public void reset()throws IOException public boolean markSupported(),OutputStream的分类,OutputStream是字节输出流。它的几种输出目的地可以是:1.一个字节数组2.一个文件3.一个管道,OutputStream的分类,常用的OutputStream流有下列几个:ByteArrayOutputStreamFileOutputStreamPipedOutputStr
6、eam,OutputStream的方法,OutputStream的常用方法:public abstract void write(int b)throws IOException public void write(byte data)throws IOException public void write(byte data,int offset,int length)throws IOException public void flush()throws IOExceptionpublic void close()throws IOException,字节流示例,TestFileInput
7、Stream.javaTestFileOutputStream.java,Reader&Writer的分类,Reader&Writer的分类类似于InputStream和OutputStream的分类。所以下面我们通过一个表格来做对比,从而对Reader&Writer的分类加以介绍。,Reader&Writer的分类,Reader&Writer的分类,其中,InputStreamReader将一个字节流转换为字符流来读入;OutputStreamWriter将一个字符流转换为字节流写出,字符流示例,TestFileReader.javaTestFileWriter.java,什么是处理流?,F
8、ilter(处理流/过滤流)是建立在其他流的基础上的。例如:,InputSteam/System.in,InputStreamReader,BufferedReader,处理流的分类,各种处理流实现不同的过滤,有的可以暂存数据,有的可以统计经过的数据,有的可以转换数据类型。Filter的分类面向字节的Filter面向字符的Filter,处理流(面向字节),FilterInputStream和FilterOutputStream.FilterInputStream和FilterOutputStream都是抽象类,分别继承自InputStream 和 OutputStream根据实现过滤功能的不同
9、,面向字节的Filter也分成 不同的类别,下表给出它们的分类。,处理流(面向字节)详细分类,处理流(面向字符),FilterReader和FilterWriter.根据实现过滤功能的不同,面向字符的Filter也分成不同的类别。下表给出它们的分类。,处理流(面向字符)详细分类,处理流示例,TestBufferedStream1.javaTestBufferedStream2.java,文件I/O,文件I/O 相关类,FileInputStreamFileOutputStreamFileReaderFileWriterDataInputStream/DataOutputStreamRandom
10、AccessFile,二进制数据访问,Java利用DataInputStream/DataOutputStream来访问二进制数据,例如访问二进制数据文件。DataInputStream/DataOutputStream提供读取和写入基本数据类型以及字符串类型数据的能力DataInputStream/DataOutputStream的方法(参见API文档)示例:TestDataStream.java,文件的随机访问,Java利用RandomAccessFile类来实现随机访问随机访问文件方式可以在指定位置读/写字节内容RandomAccessFile同时具有DataInputStream和Da
11、taOutputStream的功能提供方法void seek(long pos)指定位置,以便读写数据示例:TestRandomAccessFile.java,更多例子例1:文件I/O 举例,下面这个程序FileIO.java演示文件读写操作。在这个例子中,假设在程序当前执行目录下已经存在一个文件in.txt(它的格式如图1),FileIO.java程序读取in.txt这个文件,然后生成一个新的文件out.txt(生成的新文件out.txt的格式如图2)。,例1:文件I/O 举例,in.txt文件格式如图1:,firstsecondthirdforthfifthsixthseventh,图1,
12、line 1=firstline 2=secondline 3=thirdline 4=forthline 5=fifthline 6=sixthline 7=seventh,图2,out.txt文件格式如图2:,1.try2.BufferedReader in=new BufferedReader(new FileReader(in.txt);3.PrintWriter out=new PrintWriter(4.new BufferedWriter(5.new FileWriter(out.txt);6.String s;7.int i=1;8.while(s=in.readLine()!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 输入输出 系统
链接地址:https://www.31ppt.com/p-6510273.html