七、缓冲区(buffered开头的):——流用缓冲区包装后
1、缓冲区:缓冲区的出现提高了对流的操作效率。所以在创建缓冲区之前,必须要先有流对象。其实缓冲内部就是在使用流对象的方法,只不过加入了数组对数据进行了临时存储,为了提高操作数据的效率。
2、字节流——BufferedInputStream(输入流)、BufferedOutputStream(输出流)
|
利用缓冲区对象(字节流)来读取文件内容的步骤: |
1.创建字节流; |
|
2.创建缓冲区对象; | |
|
3.建立字节数组; | |
|
4.写/读文件; | |
|
5.关闭资源(流和缓冲区对象) |
3、字符流——BufferedReader(输入流)、BufferedWriter(输出流)
|
利用缓冲区对象(字符流)来读取文件内容的步骤: |
1.创建字符流; |
|
2.创建缓冲区对象; | |
|
3.建立字符数组(写的话可以直接字符串); | |
|
4.写/读文件; | |
|
5.关闭资源(流和缓冲区对象) |
八、标准I/O
1、

2、重定向标准IO
System提供了三个重定向方法

System.in——它的输入对象是键盘
System.out——它的输出对象是控制台
重定向的作用不是很清楚。
九、对象序列化
1、为什么需要对象序列化?
实际上为了解决对象流读写中遇到的问题。Java对象序列化是为了方便于对象的“传输”。举个例子:就是你要搬东西,为了能够叫方便的搬运,你可以把这个东西进行拆散,搬到了目的地后,在组装起来。
2、什么是序列化?
将对象的状态存储到特定存储介质中的过程。
3、什么时候需要对象序列化
一般情况下,下面几种情况会用到序列化:
v 当你想把内存中的对象保存到一个文件中或者数据库中的时候;
v 当你想用套接字在网络上传送对象的时候;
v 当你想通过RMI传输对象的时候。
4、怎么实现对象序列化
(1)支持可序列话(Serializable)——实现java.io.Servializable
(2)对象序列化的步骤:

5、对象的反序列化
反序列化步骤:

2、禁止某些属性被反序列化——那么就要禁止某些属性序列化
用transient修饰的属性不能够被序列化

6、注意事项:
(1)包含引用类型属性的对象序列化,那该引用类型也必须为可序列化的。

(2)问题二:

t1和t2中的Student对象是否与stu相同??——是相同的。
解释:对象分配序列号;当程序试图序列化一个对象是,将会检测是否已经被序列化,只有序列化后的对象才能被转换成字节序列输出;如果对象已经被序列化,则程序直接输出一个序列化编号,而不再重新序列化。如图解:


本文详细介绍了Java中缓冲流的使用方法,包括字节流和字符流,并解释了如何利用缓冲区提高文件读写的效率。此外,还深入探讨了对象序列化的概念、应用场景及其实现方式。
3747

被折叠的 条评论
为什么被折叠?



