打印流|学习笔记

简介: 快速学习 打印流

开发者学堂课程【Java 高级编程打印流】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/20/detail/329


打印流


目录:


1.打印流设计思想

2.装饰设计模式

3.数据输出

4.格式化输出

 

1.打印流设计思想

若要通过程序实现内容的输出,核心的本质一定要依靠 OutputStream 类完成,但OutputStream 类有一个最大的缺点,这个类中的数据输出操作功能有限: public void write(byte[] b)Ithrows IOExcept ion

所有的数据定要转为字节数组后才可以输出,假设现在项目里面可能输出的是long、double、Date,在这样的情况下就必须将这些数据变为字节的形式来处理,这样的处理十分麻烦,因此在开发之中最初的时候为了解决此类的重复操作,往往会由开发者自行定义一些功能以简化输出过程。

范例:打印流设计思想

图片1.png

图片2.png

在整个的操作过程之中打印流的设计思想的本质在于:提高已有类的功能,

例如: OutputStream 是唯一可以实现输出的操作标准类,应该以其为核心根本,但这个类输出的操作功能有限,所以不方便进行输出各个数据类型,因此要为它做出一层包装。

此时采用的设计思想就是“ 装饰设计模式”。

 

2.装饰设计模式

既然所有的开发者都已发现原始的 OutputStream 功能的不足,设计者也一定可以发现,所以为了解决输出问题,在 java.io 包里面提供有打印流: PrintStream、 PrintWriter。

PrintStream:public class PrintStream

           extends FilterOutputStream  

implements Appenndable Closeable

           Public PrintStream(OutputStream out)

图片3.png


3.数据输出

使用 PrintWriter 来实现数据的输出操作

范例:

图片4.png



4.格式化输出

从 JDK 1.5  开始 PrintWriter 类里面追加有格式化输出的操作支持:public PrintWriter printf (String format,0bject... args)

范例:

图片5.png

比起直接使用 OutputStream 类,使用 PrintWriter、 PrintStream 类的处理操作会更加的简单。

只要是程序进行内容输出的时候全部使用打印流。


相关文章
Web应用基本架构
Web应用基本架构。
351 6
|
8月前
|
人工智能 数据可视化 数据挖掘
AI竟能独立完成顶会论文!The AI Scientist-v2:开源端到端AI自主科研系统,自动探索科学假设生成论文
The AI Scientist-v2 是由 Sakana AI 等机构开发的端到端自主科研系统,通过树搜索算法与视觉语言模型反馈实现科学假设生成、实验执行及论文撰写全流程自动化,其生成论文已通过国际顶会同行评审。
551 34
AI竟能独立完成顶会论文!The AI Scientist-v2:开源端到端AI自主科研系统,自动探索科学假设生成论文
|
5月前
|
测试技术 调度 Swift
《突破启动瓶颈:Swift构建iOS应用时界面加载的深度优化策略》
在iOS开发中,Swift应用的启动性能直接影响用户体验。优化界面加载不仅涉及代码调整,更需深入理解系统机制、内存调度与资源加载逻辑。通过精简视图层级、优化动态库依赖、合理调度资源加载及利用系统工具进行量化分析,开发者可在复杂交互中实现高效启动,提升应用响应速度与流畅度。
203 4
|
存储 NoSQL 数据库
认证服务---整合短信验证码,用户注册和登录 ,密码采用MD5加密存储 【二】
这篇文章讲述了在分布式微服务系统中添加用户注册和登录功能的过程,重点介绍了用户注册时通过远程服务调用第三方服务获取短信验证码、使用Redis进行验证码校验、对密码进行MD5加密后存储到数据库,以及用户登录时的远程服务调用和密码匹配校验的实现细节。
认证服务---整合短信验证码,用户注册和登录 ,密码采用MD5加密存储 【二】
|
JSON Dart Android开发
Flutter 2024: Impeller引擎引领渲染新纪元
Flutter 2024以Impeller引擎引领渲染新时代,全面提升性能与流畅度。Impeller已在iOS及Android(支持Vulkan/OpenGL)全面部署,Material 3集成深化视觉体验,多视图支持增强复杂UI管理。Dart 3.2与3.4版本迭代优化语言特性与性能,引入宏编程简化JSON处理。桌面与Web端持续优化,深化平台适配。
663 14
|
缓存 监控 数据库
性能优化的常见策略有哪些
【10月更文挑战第20天】性能优化的常见策略有哪些
657 0
|
SQL JSON 关系型数据库
SqlAlchemy 2.0 中文文档(五)(5)
SqlAlchemy 2.0 中文文档(五)
249 4
|
前端开发 Java 微服务
Spring Boot与微前端架构的集成开发
Spring Boot与微前端架构的集成开发
|
SQL 安全 Java
Java安全编程:防范网络攻击与漏洞
【4月更文挑战第15天】本文强调了Java安全编程的重要性,包括提高系统安全性、降低维护成本和提升用户体验。针对网络攻击和漏洞,提出了防范措施:使用PreparedStatement防SQL注入,过滤和转义用户输入抵御XSS攻击,添加令牌对抗CSRF,限制文件上传类型和大小以防止恶意文件,避免原生序列化并确保数据完整性。及时更新和修复漏洞是关键。程序员应遵循安全编程规范,保障系统安全。
662 2
|
JavaScript 小程序 API
uniapp的实战总结大全
uniapp的实战总结大全
360 0