操作基本数据类型的流

内存操作流

操作字节数组

ByteArrayInputStream
ByteArrayOutputStream

操作字符数组

CharArrayReader
CharArrayWrite

操作字符串

StringReader
StringWriter

打印流

打印流分为两类:
字节流打印流 PrintStream
字符打印流 PrintWriter

打印流的特点:

只有写数据的,没有读取数据。只能操作目的地,不能操作数据源。
可以操作任意类型的数据。
如果启动了自动刷新,能够自动刷新。
该流是可以直接操作文本文件的。

哪些流对象是可以直接操作文本文件的呢?

FileInputStream
FileOutputStream
FileReader
FileWriter
PrintStream
PrintWriter

print() 不会换行,不会自动刷新数据。

println() 不仅仅自动刷新了数据,还实现了数据的换行。

println()方法,其实等价于: bw.write(); bw.newLine(); bw.flush();三个方法

随机访问流

RandomAccessFile
概述:RandomAccessFile类不属于流,是Object类的子类。
但它融合了InputStream和OutputStream的功能。支持对随机访问文件的读取和写入。

合并流

SequenceInputStream
概述:SequenceInputStream类可以将多个输入流串流在一起,合并为一个输入流,因此,该流也被称为合并流。
SequenceInputStream的构造方法
SequenceInputStream(InputStream s1, InputStream s2)
SequenceInputStream(Enumeration < ? extends InputStream> e)
把多个文件的内容写入到一个文本文件
运行程序,我们会在Copy.java文件中看到那三个文件的内容,我们要是想合并四个或者以上的文件,只需要继续将文件创建输入流对象然后添加在Vector集合中就可以实现了。

序列化流

序列化流

ObjectOutputStream
序列化流:把对象按照流一样的方式存入文本文件或者在网络中传输。对象 –> 流数据(ObjectOutputStream)

反序列化流

ObjectInputStream
反序列化流:把文本文件中的流对象数据或者网络中的流对象数据还原成对象。流数据 –>对象(ObjectInputStream)

对象序列化是将对象状态转换为可保持或传输的过程。一般的格式是与平台无关的二进制流,可以将这种二进制流持久保存在磁盘上,也可以通过网络将这种二进制流传输到另一个网络结点。
对象反序列化,是指把这种二进制流数据还原成对象。

你可能感兴趣的:(操作基本数据类型的流)