- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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 用于从程
您可能关注的文档
- 2009年全省地税系统计算机能手选拔考试试题.doc
- C++期末模拟试题及答案 2010.doc
- B15 字符串.ppt
- JavaWeb试卷五.doc
- Java中常用的查找方法——顺序查找和二分查找.docx
- chap4JAVA类和对象一.ppt
- 9 类的无参方法.ppt
- JAVA语言复习题一.doc
- java考试试题(一).doc
- Java测试3答案.doc
- 2025年8月 在全市防汛工作视频会议上的讲话.docx
- 在2025年市委常委班子集中整治问题整改工作专题会议上的讲话+党课:以过硬作风护航高质量发展以实干担当书写新时代“赶考”答卷.pdf
- 国有企业2025年在“贯彻党中央决策部署和国企改革要求方面、全面从严治党责任落实方面、基层党组织建设方面、巡察整改长效机制建设四个方面”巡察整改专题民主生活会存在的原因分析.docx
- 2篇 2025年在四届区委第十三轮巡察动员部署会议上的讲话.pdf
- 在理论学习中心组巡视整改专题学习研讨会议上的讲话+在省委巡视反馈问题整改部署会上的讲话+工作领导小组会议上的讲话.pdf
- 2篇 2025年在四届区委第十三轮巡察动员部署会议上的讲话.docx
- 2025年国企理论学习中心组巡视巡察专题民主生活会会前学习研讨+(2025年四个方面)巡察整改专题民主生活会个人发言提纲.docx
- 局党组、宣传部、纪委监委关于2025年上半年意识形态工作总结及2025年下半年工作打算.pdf
- 4篇 2025年在学习贯彻《中华人民共和国监察法实施条例》研讨交流会上的发言.pdf
- 在市委理论学习中心组中央城市工作会议精神专题学习研讨会上的发言.+关于传达中央城市工作会议精神的讲话提纲.docx
文档评论(0)