操作基本数据类型的流

内存操作流

操作字节数组

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)

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 从前有一对双胞胎姐妹,姐姐叫阿玉,妹妹叫阿杜。 阿玉和阿杜都很乖巧,唯独不一样的是阿杠总是很喜欢学她的姐姐。 一天...
    王思彤阅读 273评论 0 1
  • 时间来到年末,又到了该写年终总结的时候。不知不觉又过一年了,感觉14年的新年还是在昨天。耳边突响起《时间都去哪儿了...
    蔡董阅读 291评论 0 2
  • 今天我偶像厦门路演,为8月12号的《那件疯狂的小事叫爱情》做宣传,我看过电影的预告,最期待的是里面上天下海的...
    施周李李阅读 174评论 0 1
  • 遮阳帽~ 眼镜~ 准备好了~ 清凉一夏~ 希望这个夏天~ 清清爽爽~
    梅子吉祥如意怀德阅读 258评论 0 7