您的位置:首页 > 其它

输入输出处理(IO)(备忘)——下

2013-02-22 23:11 176 查看
七、缓冲区(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相同??——是相同的。

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



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐