Java面试题之IO流

1、Java中饭有几种类型的流

按照流的方向:输入流(inputStream)和输出流(outputStream)

按照实现功能分:节点流和处理流

按照处理数据的单位:字节流和字符流,字节流继承于InputStream和OutputStream,字符流继承于InputStreamReader和OutputStreamWriter。

2、字节流如何转为字符流

字节输入流转字符输入流通过InputStreamReader实现,该类的构造函数可以传入InputStream对象

字节输出流转字符输出流通过OutputStreamWriter实现,该类的构造函数可以传入OutputStream对象

3、如何实现对象克隆

(1)实现Cloneable接口重写Object类中的clone()方法

(2)实现Serializable接口,通过对象的序列化和反序列化实现克隆,可以实现真正的深度克隆

4、什么是Java序列化,如何实现Java序列化?

序列化就是一种用来处理对象流的机制,将对象的内容进行流化。可以对流化后的对象进行读写操作,可以将流化后的对象传输于网络之间。序列化是为了解决在对象流读写操作时所引发的问题。

序列化的实现:将需要被序列化的类实现Serialize接口,没有需要实现的方法,此接口只是为了标注对象可被序列化的,然后使用一个输出流(如:FileOutputStream)来构造一个ObjectOutputStream(对象流)对象,再使用ObjectOutputStream对象的write(Object obj)方法就可以将参数obj的对象写出。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值