JavaIO流详解.docVIP

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

JavaIO流详解 参考网址: /kevinyangxu/archive/2010/11/28/1890248.html /qamefay/archive/2011/09/01/2161495.html Java IO流 一 流的概念 ???? 流(Stream)的概念源于UNIX中管道(pipe)的概念。在UNIX中,管道是一条不间断的字节流,用来实现程序或进程的通信,或读写外围设备、外部文件等。 ???? 一个流,必有源端和目的端,它们可以是计算机内存的某些区域,也可以是磁盘文件,甚至可以是Internet上的某个URL。 ???? 流的方向是重要的,根据流的方向,流可以分为2类:输入流和输出流。用户可以从输入流中读取信息,但不能写它。相反,对输出流,只能往输入流写,但不能读它。??? ???? 实际上,流的源端和目的端可简单的看成是字节的生产者和消费者,对输入流,可不必关心它的源端是什么,只要简单地从流中读取数据,而对输出流,也可不知道它的目的端,只是简单的往流中写数据。 二 流的三种分类方式???? ??? 1.按流的方向分为:输入流和输出流 ??? 2.按流的数据单位不同分为:字节流和字符流 ??? 3.按流的功能不同分为:节点流和处理流 三 流的层次结构 ??? ? ? ? ? ? ? ? ? ? ?四 缓冲流 : ???????? 缓冲流要套接在相应的节点流觞,提高了读写的效率。 ???????? 此处理流的构造方法都得传相对应的基类类型 ???????? BufferedReader:提供了readLine方法,用于高效读取一行字符串 ???????? BufferedWriter: 提供了newLine用于写入一个行分隔符也就是换行 ? 五 转换流:主要作用将字节流转换成字符流。 ???? InputStreamReader 需要和InputStream套接 ???? OutputStreamWriter 需要和OutputStream套接 ???? eg:? InputStremReader input=new InputStreamReader(new FileInputStream(...)); 六 流的结构: ???? 根接口:InputStream/OutputStream ???? 充当数据源的IO类有FileInputStream/FileOutputStream,ByteArrayInputStream/ByteArrayOutputStream等。 ???? 充当装饰功能的IO类 BufferedInputStream/BufferedOutputStream,DataInputStream/DataOutputStream等。 ???? 它们都是继承装饰接口FilterInputStream/FilterOutputStream. ????? 使用IO时,首先创建一个数据源IO,然后根据需要的功能创建装饰类IO,其构造函数的参数为以创建的数据源IO ????? eg: ????? 我们以创建一个具有缓冲的文件输入流为例,假定需要从磁盘读取文件“C:\log.txt”: ????? // 创建一个FileInputStream: ????? FileInputStream fileInput = new FileInputStream(”C:\\log.txt”); ????? // 创建一个BufferedInputStream: ????? BufferedInputStream bufferedInput = new BufferedInputStream(fileInput); ????? // 现在得到的bufferedInput即是具有缓冲的文件输入流    或者进一步简写如下: ???? InputStream input = new BufferedInputStream(new FileInputStream(”C:\\log.txt”)); ????? // 现在得到的input即是具有缓冲的文件输入流 ????? java.io.Reader 和 java.io.InputStream 区别   java.io.Reader 和 java.io.InputStream 组成了 Java 输入类。Reader 用于读入16位字符,也就是 Unicode 编码的字符;而 InputStream 用于读入 ASCII 字符和二进制数据。 在 Java 中,有不同类型的 Reader 输入流对应于不同的数据源: ??? FileReader 用于从文件输入; ??? CharArrayReader 用于从程序中的字符数组输入; ??? StringReader 用于从程

您可能关注的文档

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档