欢迎来到天天文库
浏览记录
ID:6111282
大小:270.50 KB
页数:38页
时间:2018-01-03
《第9章 java输入输出》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第9章Java输入/输出输入/输出处理是程序设计中的重要部分,例如从键盘读取数据、从文件中读取数据或向文件中写数据等。Java语言把这些不同类型的输入、输出源抽象为流(Stream),用统一接口来表示,从而使程序简单明了。核心内容:1.流的概念2.字节流与字符流3.标准输入输出4.文件输入输出5.流的包装和随机存取文件。9.1输入/输出基础Java语言的输入/输出功能必须使用类库java.io来实现,这个类库中的大部分是用来完成流式输入/输出的类。9.1.1流的概念在Java语言中程序所完成的输入和输出操作是以流的形式来实现的
2、。所谓流,是指在计算机的输入与输出之间运动的数据序列。流序列中的数据既可以是未加工的原始的二进制数据,也可以是经过一定编码处理后符合某种格式规定的特定数据。通常,Java程序的输入/输出操作主要针对三种不同的类型:(1)控制台,指的是屏幕输出(在Windows系统下指的是DOS窗口)和键盘输入;(2)文件,针对磁盘文件的读/写操作;(3)网络,通过网络套接字所实现的数据访问。基于上述流的概念,通过Java程序实现输入/输入操作必须遵循下列流程,该流程适用于上述所提到的文件和网络输入/输出类型。这里将输入操作定义为“读”,读操作
3、针对的流为输入流;将输出操作定义为“写”,写操作针对的流为输出流。(1)“读”流程openaninputstream//打开一个输入流whilemoreinformation//判断该流中是否存有数据readinformation//如果有数据,则读入程序closetheinputstream//输入流中数据读完,关闭该输入流(2)“写”流程37openanoutputstream//打开一个输出流whilemoreinformation//判断程序中是否有数据要写到该输出流中writeinformation//如果有数据,则
4、写入closetheoutputstream//数据写完,关闭该输出流输入流只能从中读取数据,而不能向其写出数据;输出流只能向其写出数据,而不能从中读取数据。9.1.2字节流与字符流根据流中基本数据单位的不同,流被分为字节流(bytestream)和字符流(characterstream)。字节流是以字节(8个bit)为单位进行读/写操作,字符流则是根据所定义的字符编码格式以字符为单位进行读和写。举一个简单的例子,“java语言”这个字符串如果保存在一个文本文件中则占有8个字节,一个中文字符由两个字节所组成。若以字节流方式读取
5、该字符串则需读8次,因为存在8个字节;而以字符流的方式则需读6次,因为是6个字符。中文Windows系统下的Java环境是以中文字符编码为默认格式,即“GB2312”或“GBK”,可以自动判断中文字符。若是在英文Windows系统或UNIX系统下,对于中文的识别则需指定中文字符编码格式,这是在字符流读/写时要注意的,需要注意的是:本质上所有的读/写操作都是以字节为单位进行的。Java语言提供了基于字符的流是为了给处理字符提供更方便、更有效的方法。下面是对字节流类和字符流类的介绍。1.字节流类字节流类由两个层次结构定义。在顶层有
6、两个抽象类:InputStream和OutputStream。每个抽象类都有多个具体的子类,这些子类对不同的外设进行处理,例如磁盘文件、网络连接、甚至是内存缓冲区。需要说明的是,要使用流类,必须导入java.io包。如表9-1所示为字节流类。表9-1字节流类流类含义BufferedInputStream缓冲输入流BufferOutputStream缓冲输出流ByteArrayInputStream从字节数组读取的输入流ByteArrayOutputStream向字节数组写入的输出流DataInputStream包含读取Java
7、标准数据类型的输入流DataOutputStream包含编写Java标准数据类型的输出流FileInputStream读取文件的输入流FileOutputStream写文件的输出流FilterinputStream实现InputStreamFilterOutputStream实现OutputStreamInputStream描述流输入的抽象类OutputStream描述流输出的抽象类PipedInputStream输入管道PipedOutputStream输出管道PrintStream包含print()和println()的输
8、出流37PushbackInputStream支持向输入流返回一个字节的单字节的“unget”的输入流RandomAccessFile支持随机文件输入/输出SequenceInputStream两个或两个以上顺序读取的输入流组成的输入流抽象类InputStream和Outpu
此文档下载收益归作者所有