首页 > 代码库 > 【JAVA 其它流对象】
【JAVA 其它流对象】
一、PrintStream类。
该流是字节流。
public class PrintStream extends FilterOutputStream implements Appendable, Closeable |
java.lang.Object
|--java.io.OutputStream
|--java.io.FilterOutputStream
|--java.io.PrintStream
API描述:
PrintStream
为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式。它还提供其他两项功能。与其他输出流不同,PrintStream
永远不会抛出 IOException
;而是,异常情况仅设置可通过 checkError
方法测试的内部标志。另外,为了自动刷新,可以创建一个 PrintStream
;这意味着可在写入 byte 数组之后自动调用 flush
方法,可调用其中一个 println
方法,或写入一个换行符或字节 (‘\n‘
)。
PrintStream
打印的所有字符都使用平台的默认字符编码转换为字节。在需要写入字符而不是写入字节的情况下,应该使用
类。 PrintWriter
简单来说该流的特点有:
(1)它不抛出IO异常。
(2)提供了打印方法可以对多种数据类型值进行打印。并可以保持数据的表示形式。
(3)该流若不指定编码类型,则适用平台默认的编码。
1.构造方法。
构造方法可以接受的参数包括:
(1)字符串路径
(2)File对象
(3)字节输出流
2.常用方法。
void | close() 关闭流。 |
void | flush() 刷新该流的缓冲。 |
PrintSteam类若要将信息输出,必须刷新。如果想要自动刷新,则应当使用拥有自动刷新功能的构造方法。如果想要写入文件而且自动刷新,则需要先构造字节输出流,再作为参数传递给构造放方法。
void | print(基本数据类型 x) 打印基本数据类型不换行,使用平台默认的字符编码。 |
void | println(节本数据类型 x) 打印基本数据类型到指定的对象,使用平台默认的字符编码并且在末尾添加平台上的行分隔符,实现换行的功能。 |
void | write(byte[] buf, int off, int len) 将 len 字节从指定的初始偏移量为 off 的 byte 数组写入此流。 |
void | write(int b) 将指定的字节写入此流。 |
print和write方法的区别是什么?
print方法会将打印的基本数据类型先转变成字符串再
打印;write方法则将打印的整型数据取低八位一个字节再打印。
print(97);结果是97;而write(97);结果则变成a。
二、PrintWriter类。
该流是字符流。
public class PrintWriterextends Writer |
java.lang.Object
|--java.io.Writer
|--java.io.PrintWriter
该类中的方法和PrintStream中的方法几乎相同,不赘述。
但是应当注意,这两者有一个共同的特点,那就是如果直接将数据写向文件,都不带自动刷新功能,如果想要写入文件而且还要自动刷新,则需要先使用输出流将文件封装起来。
三、序列流:SequenceInputStream类。
public class SequenceInputStreamextends InputStream |
java.lang.Object
|--java.io.InputStream
|--java.io.SequenceInputStream
该流能够将多个输入流合并成一个流。
1.构造方法。
SequenceInputStream(Enumeration<? extends InputStream> e) 通过记住参数来初始化新创建的 SequenceInputStream ,该参数必须是生成运行时类型为 InputStream 对象的 Enumeration 型参数。 |
SequenceInputStream(InputStream s1, InputStream s2) 通过记住这两个参数来初始化新创建的 SequenceInputStream (将按顺序读取这两个参数,先读取 s1 ,然后读取 s2 ),以提供从此 SequenceInputStream 读取的字节。 |
这两个构造方法中,第一个方法比较常用,因为可以使用集合将各个流存放起来,这么做好处理。
2.常用方法。
略。
3.实例。
【JAVA 其它流对象】