SUN JAVA培训教材-第14章 流式IO与文件.docxVIP

SUN JAVA培训教材-第14章 流式IO与文件.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SUN JAVA培训教材-第14章 流式IO与文件

流式I/O和文件本模块讨论文件,socket和其他数据源使用的流式I/O机制。第一节相关问题讨论-以下为与本模块内容有关的问题:Java编程语言中使用什么机制来读写文件?第二节目标在完成了本模块的学习后,你应当能够:描述和使用java.io包的流式思想构造文件和过滤器流,并恰当地使用它们区别流与读者和作者,并进行合适的选择考察并操作文件和目录读、写和更新文本和数据文件使用Serialization接口来保持对象的状态第三节 流式I/O流式I/O流是字节的源或目的。两种基本的流是:输入流输出流结点流对特定的地方读写过滤流使用结点流作为输入或输出本模块考察了Java编程语言如何使用流来处理字节和字符I/O(包括stdio,stdout和stderr)。下面几节将考察有关处理文件和操作它们所包含的数据的特定细节。14.3.1流的基础知识一个流是字节的源或目的。次序是有意义的。例如,一个需要键盘输入的程序可以用流来做到这一点。两种基本的流是:输入流和输出流。你可以从输入流读,但你不能对它写。要从输入流读取字节,必须有一个与这个流相关联的字符源。在java.io包中,有一些流是结点流,即它们可以从一个特定的地方读写,例如磁盘或者一块内存。其他流称作过滤器。一个过滤器输入流是用一个到已存在的输入流的连接创建的。此后,当你试图从过滤输入流对象读时,它向你提供来自另一个输入流对象的字符。14.3.2 InputStream方法InputStream方法三个基本的read()方法int read()int read(byte [])int read(byte[], int ,int )其他方法void close()int available()skip(long)boolean markSupported()void mark(int)void reset(int)int read()int read(byte [])int read(byte[], int ,int )这三个方法提供对输入管道数据的存取。简单读方法返回一个int值,它包含从流里读出的一个字节或者-1,其中后者表明文件结束。其它两种方法将数据读入到字节数组中,并返回所读的字节数。第三个方法中的两个int参数指定了所要填入的数组的子范围。注-考虑到效率,总是在实际最大的块中读取数据。void close()你完成流操作之后,就关闭这个流。如果你有一个流所组成的栈,使用过滤器流,就关闭栈顶部的流。这个关闭操作会关闭其余的流。int available()这个方法报告立刻可以从流中读取的字节数。在这个调用之后的实际读操作可能返回更多的字节数。skip(long)这个方法丢弃了流中指定数目的字符。boolean markSupported()void mark(int)void reset()如果流支持“回放”操作,则这些方法可以用来完成这个操作。如果mark()和reset()方法可以在特定的流上操作,则markSupported()方法将返回ture。mark(int)方法用来指明应当标记流的当前点和分配一个足够大的缓冲区,它最少可以容纳参数所指定数量的字符。在随后的read()操作完成之后,调用reset()方法来返回你标记的输入点。14.3.3 OutputStream方法OutputStream方法三个基本的write()方法int write()int write(byte [])int write(byte[], int ,int )其他方法void close()void flush()void write(int)void write(byte [])void write(byte [], int, int)这些方法写输出流。和输入一样,总是尝试以实际最大的块进行写操作。void close()当你完成写操作后,就关闭输出流。如果你有一个流所组成的栈,就关闭栈顶部的流。这个关闭操作会关闭其余的流。void flush()有时一个输出流在积累了若干次之后才进行真正的写操作。flush()方法允许你强制执行写操作。第四节基本的流类在java.io包中定义了一些流类。下图表明了包中的类层次。一些更公共的类将在后面介绍。基本的流类FileInputStream和FileOutputStreamBufferInputStream和BufferOutputStreamDataInputStream和DataOutputStreamPipedInputStream和PipedOutputStream14.4.1 FileInputStream和FileOutputStream这些类是结点流,而且正如这个名字所暗示的那样,它们使用磁盘文件。这些类的构造函数允许你指定它们所连

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档