[十四]JavaIO之PrintStream
2018-09-18 06:34:58来源:博客园 阅读 ()
PrintStream 为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式
装饰器模式中具体的装饰类
它提供的功能就是便捷的打印各种数据形式
FilterInputStream为装饰器模式中的抽象角色 |
简言之,PrintStream可以快捷的打印输出各种类型的数据 |
autoFlush是否自动刷新的标志位 所谓自动刷新,就是每次调用方法后,看下标志位,如果设置了,那么调用一下out.flush() 比如下面这段代码 |
所以,为了自动刷新,可以创建一个 PrintStream 这几种场景下自动刷新(如果是true) |
先看下他的私有的构造方法 其他所有的方法都是调用这两个构造方法 |
两个私有构造方法, 关注的主要信息就是OutputStream和autoFlush和 charset三个字段 OutputStream 作为实际被装饰的实体类 charset 指定的字符编码,如果不指定,那么将会使用默认的 autoFlush 默认是false |
PrintStream(OutputStream)
PrintStream(OutputStream, boolean)
PrintStream(OutputStream, boolean, String)
直接传递OutputStream
|
PrintStream(String)
PrintStream(String, String)
PrintStream(File)
PrintStream(File, String)
通过File或者路径名 构造FileOutputStream 作为FileOutputStream
可以看得出来,文件相关的,autoFlush全部都是false
|
PrintStream 永远不会抛出 IOException 通过代码可以看得出来 内部维护了一个trouble标志位 发生了IOException异常时,捕捉后转换为trouble=true 可以通过checkError()方法进行返回 |
write(int)
write(byte[], int, int)
说到这,write基本不用介绍了,代码上面一段也已经贴出来
增加了自动刷新的功能,并且还不会抛出异常
|
println() | 通过写入行分隔符字符串终止当前行。行分隔符字符串由系统属性 line.separator 定义,不一定是单个换行符 ('\n') |
print(boolean)
|
String.valueOf(boolean)生成字符串转换为字节 以 write(int) 方法的方式写入这些字节 |
+println() = println(boolean) |
print(char)
|
字符转换为一个或多个字节
以 write(int) 方法的方式写入这些字节
|
+println() = println(char) |
print(int)
|
String.valueOf(int)生成字符串转换为字节
以 write(int) 方法的方式写入这些字节
|
+println() = println(int) |
print(long)
|
String.valueOf(long)生成字符串转换为字节
以 write(int) 方法的方式写入这些字节
|
+println() = println(long) |
print(float)
|
String.valueOf(float)生成字符串转换为字节
以 write(int) 方法的方式写入这些字节
|
+println() = println(float) |
print(double)
|
String.valueOf(double)生成字符串转换为字节
以 write(int) 方法的方式写入这些字节
|
+println() = println(double) |
print(char[])
|
字符转换为字节
以 write(int) 方法的方式写入这些字节
|
+println() = println(char[]) |
print(String)
|
如果参数为 null,则打印字符串 "null"
否则转换为字节
以 write(int) 方法的方式写入这些字节
|
+println() = println(String) |
print(Object) |
String.valueOf(Object)生成字符串转换为字节
以 write(int) 方法的方式写入这些字节
|
不存在print(Object) +println()的情况 println(Object)==先调用 String.valueOf(x) 获取字符串值,然后再 print(String)+ println() |
print将会把数据转换为他们的字符串形式,然后转换为字节,然后在将字节写入 |
print 与println结合 可以变成println的形式 从代码也可以很直白的看出来,调用之后,然后newLine() 不过需要注意的是print(Object) 他是特例 |
printf(String, Object...)
printf(Locale, String, Object...)
format(String, Object...)
format(Locale, String, Object...)
|
产生格式化输出的每个方法都需要格式字符串 和参数列表 格式字符串是一个 String,它可以包含固定文本以及一个或多个嵌入的格式说明符 这个是个类似C语言printf的方法 使用的时候不熟悉直接查表对照即可 printf和format一回事 |
append(char)
|
将指定字符添加到此输出流。
调用此方法的 out.append(c) 形式,行为与以下调用完全相同:out.print(c)
最后加一个跟写一个显然没什么不同
|
append(CharSequence)
|
将指定字符序列添加到此输出流 |
append(CharSequence, int, int) | 将指定字符序列的子序列添加到此输出流 |
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:第一次过程性考核
- 第六章第三十四题(打印日历)(Print calendar) - 编程练习 2020-05-23
- SpringBoot系列(十四)集成邮件发送服务及邮件发送的几种方 2020-05-09
- Java连载101-DataOutputStream、PrintStream方法详解 2020-03-23
- JavaIO流总结 2019-10-25
- Java开发笔记(一百四十四)实现FXML对应的控制器 2019-08-31
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash