欢迎来到天天文库
浏览记录
ID:48831150
大小:264.00 KB
页数:82页
时间:2020-01-27
《第01章 输入输出流和文件操作.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第1章输入/输出流和文件操作1.1文件和流的概念1.2字节输入/输出流类1.3字符输入/输出流类1.4文件操作类1.1文件和流的概念1.1.1程序设计语言中的文件类型1.1.2流的概念1.1.3Java的输入/输出流与文件操作概述文件类型Java中有两种类型的文件:二进制文件和文本文件。这两种文件都将数据以位流序列的方式存储数据,即一个0或1的序列。因此,这两种类型的文件之间的差别是读或写数据的程序对它们的不同解释。二进制文件是作为一个字节序列来处理的,而文本文件是作为一个字符序列来处理的。文本文件可以用文
2、本编辑器直接读写,而二进制文件不便使用文本编辑器直接读写,但却能够高效地由程序来进行读写。流的概念Java中的所有输入输出,无论它是文件I/O还是涉及键盘和屏幕的I/O,都是通过流的使用来完成的。一个流就是以另一个对象为源或目的地传送信息的对象。流就像一个管道,连通了信息的源及其目的地。IO流分类流分为输入流(InputStream)和输出流(OutputStream)两类,比如一个文件,当向其中写数据时,需要建立输出流;当从其中读取数据时,需要建立输入流。按照流所处理的数据类型划分,可以分为:字节流:用于
3、处理字节数据。字符流:用于处理字符数据。按照数据源与目的地的关系:节点流、处理流(过滤流)节点流和处理流节点流为可以从一个特定的数据源(节点)读写数据(如:文件,内存)数据源程序处理流是“连接”在已存在的流(节点流或处理流)之上,通过对数据的处理为程序提供更为强大的读写功能。节点流数据源数据源程序程序Java的输入/输出流与文件操作概述流类InputStream抽象的字节输入流类OuputStream抽象的字节输出流类Reader抽象的字符输入流类Writer抽象的字符输出流类文件操作类File文件类Ran
4、domAccessFile随机存取文件类Java的输入/输出流与文件操作概述InputStream类和OutputStream类是Java的两个主要流类,这两个类主要用来处理字节流,它们都是抽象类。对于标准输入System.in和标准输出System.out都是它们的子类。Java的输入/输出流与文件操作概述Reader类和Writer类与InputStream类和OutputStream类基本功能相同,只是Reader类和Writer类以字符(char)为单位读入。Java提供RandomAccessFi
5、le类来实现随机访问存储在文件不同位置的记录,即随机文件存取。Java的输入/输出流与文件操作概述Java还提供了一个File类用于获取磁盘中的文件或目录信息,File类的对象并不打开文件,也不提供任何文件处理功能。1.2字节输入/输出流类1.2.1字节输入流类InputStream1.2.2字节输出流OutputStream类1.2.3Java的标准输入/输出1.2.4文件字节输入/输出流类1.2.5过滤流类1.2.6对象输入/输出流类字节流(了解)下图中深色为节点流,浅色的为处理流1.2.1字节输入流类
6、InputStreamInputStream类publicabstractclassInputStreamextendsObjectimplementsCloseable{publicabstractintread()throwsIOException;//返回读取的一个字节,抽象方法publicintread(byte[]b)throwsIOException//从输入流中读取若干字节到指定缓冲区,返回实际读取的字节数publicvoidclose()throwsIOException{}//关闭输入流,
7、空方法}抽象类InputStream三个基本的read方法:intread():读取一个字节,并将它返回。intread(byte[]buffer):将数据读入一个字节数组,同时返回读取的字节数。intread(byte[]buffer,intoffset,intlength):将数据读入一个字节数组,放到数组的offset指定的位置开始,并用length来指定读取的最大字节数。2.InputStream类的子类1.2.2字节输出流OutputStream类OuputStream类publicabstrac
8、tclassOutputStreamextendsObjectimplementsCloseable,Flushable{publicabstractvoidwrite(intb)throwsIOException;//写入一个字节,抽象方法publicvoidwrite(byte[]b)throwsIOException//将缓冲区中的若干字节写入输出流publicvoidflush()throwsIOExce
此文档下载收益归作者所有