- 1、本文档共38页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第章 流、文件及数据库
12.1 输入输出流流(Stream)简单地说,即是计算机中数据的流动。对程序而言,信息从某个地方流向程序中信息从程序中发送到某个目的地,。论是输入流还是输出流,
字节(byte)
以字节方式处理的是二进制数据流(简称为字节流)。
用的格式可以表示许多类型的数据,数字数据、可执行程序、因特网通信和类文件等等。
2)字符(character)
以字符方式处理的数据流称为字符流。它不同于字节流,因为Java使用Unicode字符集,存放一个字符需要两个字节是一种特殊类型的字节流,它只处理文本化的数据。涉及文本数据如文本文件、网页以及其它常见的文本类型都应该使用字符流。12.1.2 字节流
在输入和输出流中用到了许多类,它们形成了一种非常合理的结构,只要我们了解了它们之间的相互关系,就可以正确地使用了。
下边我们先介绍字节输入流类的功能及应用。
1. 字节输入流类InputStream)
InputStream类是一个抽象类,字节输入流的顶层类直接创建InputStream对象InputStream类被放在java.io包中的派生结构如下:
class java.io.InputStream
|-class java.io.ByteArrayInputStream
|-class java.io.FileInputStream
|-class java.io.FilterInputStream
|-class java.io.BufferedInputStream
|-class java.io.DataInputStream
|-class java.io.LineNumberInputStream
|-class java.io.PushbackInputStream
|-class java.io.ObjectInputStream
|-class java.io.PipedInputStream
|-class java.io.SequenceInputStream
|-class java.io.StringBufferInputStream
InputStream类中了一系列的方法用来完成从输入流读取数据的操作,常用的方法1)InputStream类的常用方法
abstract int read() 从输入流中读取一个字节并返回整数值(0~255)。如果流中无字节可读,则返回-1。该方法是一个抽象方法,在其子类中实现它。
int read(byte[]?b)从输入流中读取字节放入字节数组b中并返回实际读取的字节数。
int read(byte[]?b, int off, int?len) 从流中读取len个字节存入字节数组b从off开始位置中并返回实际读取的字节数。
long skip(long?n) 从流中当前的位置跳过n个字节。
int available() 返回可以从流中读取的字节数。
void close() 关闭输入流。
void mark(int?readlimit)在流中当前位置处做一个标记。以便其后使用reset()方法返回该点。如果在做了标记之后又从流中读取了超过readlimit个字节,则标记无效。
void reset() 将读取位置返回到标记的位置。如果之前没做标记或该流不支持标记将抛出异常。
boolean markSupported() 测试该流是否支持标记。如果遇到读错误,将抛出一个 IOException异常如果为null,则抛出NullPointerException异常IndexOutOfBoundsException异常。
2) 使用字节输入流
如前所述,使用字节输入流的操作需要创建ImputStream子类的对象来实现。下边我们举一个例子,一下字节输入流的操作。DataInputStream(InputStream?in) 用基本的InputStream对象in创建对象。
(2)DataInputStream常用方法
除了继承父类的所有方法之外,还实现了DataInput接口中所有的方法,这些方法主要是读取各类数据,除了读取八种(boolean,byte,char,short,int,float,long, double) 基本类型数据的方法外,还有如下方法:
int readUnsignedByte() 以无符号字节数的方式读取流中的数据。
int readUnsignedShort() 以无符号短整数的方式读取流中的数据。
String readUTF() 以UTF-8数据格式读取流中的数据。?
static?String readUTF(DataInput?in) 以UTF-8数据格式读取由in指定流中的数据。
in
您可能关注的文档
- 基于UML的图书管理系统体系结构模型与实现.pdf
- C#实现ActiveX控件开发与部署---安装打包篇.pdf
- 高羊茅FaChit1启动子的克隆与其与gus基因融合表达载体的构建.pdf
- 无意识思维效应研究的困境与出路.pdf
- 进度条控件(ProgressBar)课件.ppt
- 华为电缆组件测试规范要领.doc
- WEKA数据挖掘平台与其二次开发.pdf
- 光伏电池不一致性检测与其应用_谢三军.pdf
- 第四章_icmpv6与其相关协议.ppt
- 第3章(数据与运算).ppt
- 2024年05月山东交通职业学院招考聘用博士研究生50人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月安徽芜湖市弋江区老年学校(大学)工作人员特设岗位公开招聘2人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东东营河口区教育类事业单位招考聘用22人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东交通职业学院招考聘用100人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东威海职业学院招考聘用高层次人才2人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月安徽石台县事业单位工作人员33人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东滨州市博兴县事业单位公开招聘考察笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月安徽蚌埠固镇县湖沟镇选聘村级后备干部7人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东省安丘市教育和体育局所属事业单位学校公开2024年招考232名工作人员笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东临沂临港经济开发区工作人员(5人)笔试历年典型题及考点剖析附带答案含详解.docx
文档评论(0)