咨询热线
来源:桂林达内IT教育机构 时间:2024/3/8 17:05:31
桂林java零.基础入门培训有名的机构发布,达内时代科技集团有限公司(简称达内教育),美股交易代码:TEDU,成立于2002年。 2014年4月3日成功在美国纳斯达克上市,融资1亿3千万美元。成为中国赴美国上市的职业教育公司,也是引领行业的职业教育公司。达内致力于面向IT互联网行业,培养Java开发工程师、测试工程师、系统管理员、智能硬件工程师、UI设计师、PHP开发培训,网络营销工程师、会计等职场人才。
达内Java大数据课程大纲全面上线,共分为:Java核心技术&JDK8新特性、数据库与数据库设计&JDBC技术、WEB前端、JAVAEE、JavaEE课程体系框架、Java互联网应用核心技术课程六个阶段。针对互联网企业的用人需求量身打造,用二十周的课程及实训帮助学员积累起两年的项目经验,让学员能够满足互联网企业的岗位需求。
java培训班中IO系统指的什么?
IO在java中不仅仅是文件读写那么简单,也包括了 socket 网络的读写等等一切的输入输出操作。比如说标准HTTP请求中Post的内容的读取也是一个输出的过程,等等…
对于IO,Java不仅提供了基本Input、Output相关的api,也提供了一些简化操作的Reader、Writer等api,在某些开发(涉及大量IO操作的项目)中也很重要,一般日常的开发中也会涉及(日志,临时文件的读写等)。
在这中的知识点主要有:
基本IO的体系: 包括有InputStream , OutputStream, Reader/Writer, 文件读取,各种流读取等
NIO 的概念, 具体使用方式和使用场景
那么什么是流?
流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观的进行数据操作。
IO流的分类
根据处理数据类型的不同分为:字符流和字节流
根据数据流向不同分为:输入流和输出流
刚刚接触io流的同学们可能不太懂输入流和输出流的概念,大家请看图:
流的输入输出是相对于你的程序说的,也就是站在程序的方向看输入还是输出,这样就好理解了,inputStream(字节输入流:向程序里读),Reader(字符输入流:向程序里读),outputStream(字节输出流:向程序外写),Writer(字符输出流:想程序外写)
什么时候用字符流和字节流
字符流只能对文本文件进行读取, 他比字节流对文本文件的操作效率高
字节流主要是对非文本文件(如一些媒体文件 :图片,电影,音乐等)进行操作的
注意:字节流可以对所有类型的文件进行操作。
如果用字节流操作文本文件,没有字符流操作文本文件 效率高。
流类图结构: 基本上Reader,Writer,InputStream,outputStream就可以把这些都概括了
输入字节流:inputStream
inputStream是所有输入字节流的父类,他是一个抽象类,像BufferedInputStream和DataInputStream等都是装饰类(这也是装饰者模式的典型应用:能大大提高侠侣,增加缓冲功能,和对多数据的支持)
输出字节流:outputStream
outputStream是所有输入字节流的父类,他是一个抽象类,像BufferedOutputStream和DataOutputStream等都是装饰类(同上这也是装饰者模式的典型应用:能大大提高侠侣,增加缓冲功能,和对多数据的支持)
字符输入流:Reader
Reader 是所有的输入字符流的父类,它是一个抽象类。CharReader、StringReader 是两种基本的介质流,它们分别将Char
数组、String中读取数据。PipedReader 是从与其它线程共用的管道中读取数据。BufferedReader
很明显就是一个装饰器,它和其子类负责装饰其它Reader 对象。下面重点介绍一下inputStreamReader。
InputStreamReader 是一个连接字节流和字符流的桥梁,它将字节流转变为字符流。FileReader
可以说是一个达到此功能、常用的工具类,在其源代码中明显使用了将FileInputStream 转变为Reader 的方法。
字符输出流:Writer
Writer 是所有的输出字符流的父类,它是一个抽象类。其他类的功能同上,OutputStreamWriter 是OutputStream
到Writer 转换的桥梁。
没有想要的答案?马上提问