- 1、本文档共37页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
数据流的输入与输出Inputsandoutputsofdatastreams第十一章
目录/Contents0102030405数据流的基本概念二进制I/O流和文本I/O流节点流和处理流序列化和反序列化文件的处理
01数据流的基本概念
数据流的基本概念数据流是指在计算机系统中,数据在各个处理单元之间以及系统内部传输的过程。这包括数据从其产生源(如传感器、用户输入、其他系统等)流向处理单元,经过处理后再流向目的地(如显示器、存储设备、另一个系统等)的路径或通道。数据流可以是一组字节、数据包或其他形式的数据。11.1.1I/O流原理与流的分类一、I/O流原理:(1)I/O是Input/Output的缩写,I/O技术是非常实用的技术,用于处理数据传输。如读/写文件,网络通讯等。(2)Java程序中,对于数据的输入/输出操作以〞流(stream)”的方式进行。(3)java.o包下提供了各种“流”类和接口,用以获取不同种类的数据,井通过方法输入或输出数据。(4)输入input:读取外部数据(磁盘、光盘等存储设备的数据)到程序(内存)中。(5)输出output:将程序(内存)数据输出到磁盘、光盘等存储设备中。二、流的分类:(1)按操作数据单位不同分为:字节流(8bit)二进制文件,字符流(按字符)文本文件(2)按数据流的流向不同分为:输入流,输出流(3)按流的角色的不同分为:节点流,处理流/包装流流的抽象基类如表12-1所示:
数据流的基本概念表11-1流的抽象基类(抽象基类)字节流字符流输入流InputStreamReader输出流OutputStreamWriter??Java的IO流共涉及40多个类,实际上非常规则,都是从如上4个抽象基类派生的。??由这四个类派生出来的子类名称都是以其父类名作为子类名后缀,如图12-1所示。
数据流的基本概念图11-1流的分类
数据流的基本概念11.1.2输入数据流输入数据流(input?stream)是指只能读不能写的数据流,用于向计算机内输入信息而用。java.io?包中所有输入数据流都是从抽象类?InputStream?继承而米,并且实现了其中的所有方法,包括读取数据、标记位置、重置读写指针、获取数据量等。从数据流中读取数据时,必须有一个数据源与该数据流相连。在处理输入数据流时,常见的主要数据操作方法包括以下几种:一、读取(Read):从输入源(如文件、传感器、用户输入设备等)中读取数据。读取的方式和方法取决于数据的来源和格式。其中常见的数据流访问方法有以下三种:文件输入流(FileInputStream),字节数组输入流(ByteArrayInputStream),缓冲字符输入流(BufferedReader)。二、解析(Parse):将原始输入数据解析为系统能够理解和处理的内部格式。这涉及将数据从其原始表示形式(例如文本、JSON、XML等)转换为程序可以操作的数据结构。
数据流的基本概念三、验证(Validate):对输入数据进行验证,确保其符合预期的格式、范围和规则。这有助于防范潜在的错误或安全风险。四、转换(Transform):对输入数据进行必要的转换,以适应系统内部的数据模型或满足特定的业务需求。这可能包括单位转换、数据类型转换等。五、过滤(Filter):根据一定的条件过滤掉不需要的数据,以提取系统所关心的信息。这有助于降低系统处理的复杂度和提高效率。六、缓存(Buffer):将输入数据暂时存储在缓冲区中,以便系统按照其处理能力逐步处理。这对于处理实时数据流或大量数据时很常见。七、记录(Log):记录输入数据流的关键信息,以便后续调试、审计或分析。这对于监控系统行为和发现潜在问题很有帮助。11.1.3输出数据流输出数据流(output?stream)是指只能写不能读的流,用于从计算机中输出数据。与输入流类似,java.io包中所有输出数据流大多是从抽象类OutputStream继承而来,并且实现了其中的所有方法,这些方法主要提供关于数据输出方面的支持。
数据流的基本概念一、文件输出流(FileOutputStream)二、字节数组输出流(ByteArrayOutputStream)三、缓冲字符输出流(BufferedWriter)流是单向的,输入/出流只提供读/写操作,即:只能从输入流读,向输出流写。数据流的输入与输出如图11-2所示:图11-2数据流的输入与输出完整的流,需要有操控端、数据源/目标。
数据流的基本概念例11.1近些年来,水污染越来越严重,小华一家出于对健康的考虑,准备装一套净水系统,喝纯净水,该如何处理?请设计一个过程图清晰的画出自来水的处理过程(类比
您可能关注的文档
- AI赋能Java语言编程:从入门到高阶 课件 第九章 Java的图形用户界面设计.pptx
- AI赋能Java语言编程:从入门到高阶 课件 第八章 Java语言的高级特性.pptx
- AI赋能Java语言编程:从入门到高阶 课件 第二章 Java标识符与数据类型.pptx
- AI赋能Java语言编程:从入门到高阶 课件 第六章 对象与类.pptx
- AI赋能Java语言编程:从入门到高阶 课件 第七章 Java异常处理.pptx
- AI赋能Java语言编程:从入门到高阶 课件 第三章 表达式和流程控制语句.pptx
- AI赋能Java语言编程:从入门到高阶 课件 第十二章 线程.pptx
- AI赋能Java语言编程:从入门到高阶 课件 第十三章 Java的网络功能.pptx
- AI赋能Java语言编程:从入门到高阶 课件 第十四章 算法竞赛中的Java编程.pptx
- AI赋能Java语言编程:从入门到高阶 课件 第十五章 AI链无代码生成平台Sapper.pptx
文档评论(0)