PrintStream 为其余输出流添加了功能,使它们可以方便地打印各类数据值表示形式
装饰器模式中具体的装饰类
它提供的功能就是便捷的打印各类数据形式
FilterInputStream为装饰器模式中的抽象角色 |
简言之,PrintStream能够快捷的打印输出各类类型的数据 |
autoFlush是否自动刷新的标志位 所谓自动刷新,就是每次调用方法后,看下标志位,若是设置了,那么调用一下out.flush() 好比下面这段代码 ![]() |
因此,为了自动刷新,能够建立一个 PrintStream 这几种场景下自动刷新(若是是true)app |
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) 他是特例 ![]() |
append(char)
|
将指定字符添加到此输出流。
调用此方法的 out.append(c) 形式,行为与如下调用彻底相同:out.print(c)
最后加一个跟写一个显然没什么不一样
|
append(CharSequence)
|
将指定字符序列添加到此输出流 |
append(CharSequence, int, int) | 将指定字符序列的子序列添加到此输出流 |